【发布时间】:2021-09-02 12:40:46
【问题描述】:
我有一个旧的 VB.Net 应用程序,它需要安装 Oracle 客户端并使用目标机器上的 tnsnames.ora 文件。
我在 My.Settings 中有一个字段定义如下:
Provider=MSDAORA;Data Source=MySourceName;Persist Security Info=True;Password=MyPass;User ID=MyUser
有没有办法让它直接连接?
我尝试使用 EZCONNECTION 更改连接字符串,但出现错误:
Data Source=10.1.1.12:1521;Persist Security Info=True;User ID=MyUser;Password=MyPass;Unicode=True
编译错误信息:
An OLE DB Provider was not specified in the ConnectionString.
我正在使用 Visual Studio 2019。
【问题讨论】:
-
你看过 ODP.NET 吗?
-
Provider
MSDAORA是来自 Microsoft 的古老的、已弃用的驱动程序。它仅存在于 32 位。你的问题不清楚,你问“Oracle 连接字符串而不安装 Oracle 客户端”,然后你写了“一个需要安装 Oracle 客户端的应用程序” -
@WernfriedDomscheit 该应用程序最初需要它,但是正如您所说它很古老,而且我通常不使用Oracle连接,我不知道是否有办法不必安装它就像使用 Win 10 自带的 MS SQL 提供程序一样。
-
@WSC 我为 VS 2019 安装了 OPD.NET。我尝试使用具有基本连接类型的 ODP.NET 托管驱动程序,但收到错误消息:
ORA-12514: TNS:listner does not currently know of the service requested in connect descriptor。与非托管相同。我假设数据源名称与服务名称相同。 -
"Win 10 自带的MS SQL Provider。" 你会注意到MS SQL Provider 和Win 10 来自同一家公司。 Mickysoft 可能会在他们的操作系统中包含他们的数据库访问驱动程序,但这不会改变他们是两个独立且不同的实体的事实。如果要访问 Oracle 数据库,则必须安装相应的驱动程序。时期。句号。实际访问数据库不仅仅是指定连接凭据。