2017-05-25 165 views
0

我收到ORA-12154“TNS:无法解析指定的连接标识符”。我用Oracle.ManagedDataAccess.Client替换Oracle.DataAccess.Client。我正在使用Windows10 64位。它适用于DataAccess.Client和另一台机器。操作系统有问题吗?您的帮助将不胜感激。我收到ORA-12154“TNS:无法解析指定的连接标识符”。问题与Oracle.ManagedDataAccess.Client

+0

我使用nuget包管理器来引用dll – Urbi

+0

@mjw,ODP.NET托管驱动器不依赖于32/64位设置,它适用于两者。这很可能不是问题。 –

回答

1

我假设ODP.NET托管驱动程序找不到您的tnsnames.ora(或sqlnet.oraldap.ora等)文件。的Oracle.ManagedDataAccess搜索模式是不同的,以搜寻由Oracle.DataAccess

根据documentation管理驱动程序配置的ODP.NET解析别名以该顺序用图案:

  1. 数据源别名在dataSources部分下在<oracle.manageddataaccess.client>部分。 NET配置文件(即machine.config,web.config,user.config)。
  2. tnsnames.ora文件中的数据源别名,位于.NET配置文件中由TNS_ADMIN指定的位置。位置可以由绝对或相对目录路径组成。
  3. tnsnames.ora文件中的数据源别名存在于与.exe相同的目录中。

正如你看到的,不像Oracle.DataAccess从注册表读取或TNS_ADMIN环境变量TNS_ADMIN值。

但是,关于TNS_ADMIN环境变量我不确定这是否是文档中的错误 - 也许我会按时测试。

+0

Web配置文件中数据源部分的数据源别名。应用程序没有从Web配置数据源部分获取数据源信息。 – Urbi

0

问题已解决。 machine.config文件的section下有tns_admin条目,它指向Oracle_Home上的tnsnames.ora文件。我评论了该部分及其工作正常。感谢大家的帮助。

相关问题