ODBC测试连接成功时,DbProviderFactory中的Oracle InstantClient ODBC连接失败

本文关键字:ODBC 连接 失败 Oracle InstantClient 中的 测试 成功 DbProviderFactory | 更新日期: 2023-09-27 18:04:41

  • 已安装InstantCLient 11.2.0.4 Basic Lite和ODBC包
  • 设置ORACLE_HOME和TNS_ADMIN环境变量,并将安装路径添加到path环境变量
  • 在那个位置创建了我的tnsnames.ora文件
  • 使用文件中的TNS设置我的DSN,并进行了测试连接-成功
  • 使用我之前开发的C#代码,该代码使用DbProviderFactoies连接到数据提供程序的通用方法(已经可以使用Teradata、SQL Server(
  • 使用以下connectionString创建了我的数据源配置:
    <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="DataSource" connectionString="DRIVER={Oracle in instantclient_11_2};Data Source=Test Oracle;Persist Security Info=True;Password=password;User=user" providerName="System.Data.OracleClient"/> </connectionStrings> </configuration>
  • 导致"ORA-12560:TNS:协议适配器错误">
  • 我在连接字符串上尝试了许多变体,它们都会导致某种错误。任何帮助都将不胜感激

系统信息

  • Windows Server 2003 64位
  • C#。净3.5
  • Oracle 11g 11.2.0.3.0远程数据库

ODBC测试连接成功时,DbProviderFactory中的Oracle InstantClient ODBC连接失败

我不确定出了什么问题,但我发现下面非常简单的连接字符串有效!它使用的是通用系统。数据Odbc也是。

<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="DataSource" connectionString="DSN=MyDSN;Uid=user;Pwd=password" providerName="System.Data.Odbc"/> </connectionStrings> </configuration>

这取决于您用于连接的协议:TCPTCPS
如果TCPS,则.NET Framework版本应高于4.5。
如果.NET Framework版本低于3.5,则会得到"ORA-12560: TNS:protocol adapter error"。