【发布时间】:2016-04-11 20:44:59
【问题描述】:
我有:
- 赢 7 (64)
- VS 2010
- Oracle 客户端 11g (32 - client_1 | 64 - client_2)
- ODP.NET (32 - c:\oracle\ | 64 - c:\oracle64)
我有旧项目 C#,在项目引用中添加了 Oracle.DataAccess.dll (v2)。
在 Win PATH 我只有 C:\Oracle11g\product\11.2.0\client_2\bin; (64)
如果我在任何模式下启动应用程序都会得到 ORA-Error
Oracle.DataAccess.Client.OracleException ORA-12154: TNS:could not resolve the connect identifier specified
在 app.config 中
<connectionStrings>
<add name="ConnectionStringTEST" connectionString="DATA SOURCE=TEST;PASSWORD=TEST;PERSIST SECURITY INFO=True;USER ID=TEST"
providerName="Oracle.DataAccess.Client" />
</connectionStrings>
我如何知道哪个 TNSNAMES 库在 C# 应用程序中使用 Oracle.DataAccess.dll?
我在 REGEDIT 中正确设置了所有 ORACLE_HOME(等)。
我以为使用PATH系统中列出的目录中的tns_names,但我发现它使用了ODP.net的tns_names,我将某些安装到c:\oracle\ (32), 为什么? ()
我不知道为什么它不使用系统 PATH 中引用的标准 Oracle 客户端。
在安装它的其他计算机上,只有一个 oracle 客户端 (32),编译的应用程序运行没有问题(错误)。
【问题讨论】:
-
我建议您完成以下步骤:blogs.msdn.microsoft.com/kaevans/2009/07/18/… - 祝您好运
-
您是如何安装 Oracle 组件的?与此指令比较:stackoverflow.com/questions/24104210/…
-
什么是
tns_names?我只知道文件tnsnames.ora或环境变量TNS_ADMIN。
标签: c# .net oracle dll oracle11g