【问题标题】:Oracle Connection string without installing Oracle client using VB.NetOracle 连接字符串,无需使用 VB.Net 安装 Oracle 客户端
【发布时间】: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 数据库,则必须安装相应的驱动程序。时期。句号。实际访问数据库不仅仅是指定连接凭据。

标签: oracle vb.net


【解决方案1】:

要连接到 Oracle 数据库,我建议您从 NuGet 安装 ODP.NET。这消除了对本地 Oracle 安装的任何依赖。

然后您可以按照随附的安装说明进行操作。语法或多或少与SqlCommand 相同,但您引用的是OracleCommand

【讨论】:

  • 我认为将 DLL 作为可执行文件的一部分提供了“本地 Oracle 安装”的定义...
猜你喜欢
  • 2019-10-19
  • 2011-01-01
  • 2015-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 2011-12-10
相关资源
最近更新 更多