ODP.NET管理的tnsnames.ora IFILE引用(ODP.NET Managed tns

2019-10-21 05:21发布

是否托管ODP.NET 64使用IFILE 12.1.0.2的tnsname.ora支持? 我无法得到它的工作。

例如,正常的“胖客户端”我已经安装了数年的非托管Oracle客户端,我曾经有过我的tnsnames.ora文件与上一行:

IFILE = C:\ OracleDataSources \ tnsnames.MAIN

然后是C:\ OracleDataSources \ tnsnames.MAIN文件包含IFILE引用配置包含我们的每一个组织内的其他Oracle实例的实际数据源定义文件。 这有助于保持我们的集中和安装文件单独的配置文件,并使用完整的Oracle客户端安装时没有错误工作。

现在我正在升级一些代码,使用旧/弃用System.Data.OracleClient的引用使用ODP.NET管理的客户端。 如果我尝试使用与管理ODP.NET库IFILE引用,我得到以下错误:

ORA-12154:TNS:无法解析指定的连接标识符

在排除故障,我确认正在从tnsnames.ora中通过使用所检索的没有数据源Oracle.ManagedDataAccess.Client.OracleDataSourceEnumerator.GetDataSources()方法( http://docs.oracle.com/html/B28089_01/OracleDataSourceEnumeratorClass.htm# CBAHABEH ),这将返回来自tnsnames.ora中列举的所有数据源的列表。

当只有IFILE引用tnsnames.ora中的使用,我得到0的结果GetDataSources 。 如果我手动直接添加数据源别名web.config中TNS_ADMIN设置中指定(而不是使用IFILE参考文献)的文件夹中tnsnames.ora文件,则数据源被从返回GetDataSources正确,我可以连接到数据源成功地利用ODP.NET。

有没有办法使用与ODP.NET IFILE TNS名称的引用?

Answer 1:

对不起,IFILE既不在配置文件中也没有使用TNSNAMES.ORA ODP.NET时,管理驱动程序的支持。

也许TNS_ADMIN配置文件条目将实现同样的事情你。



文章来源: ODP.NET Managed tnsnames.ora IFILE references