是否托管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名称的引用?