1

所以这就是问题所在。我拥有的这个应用程序使用 ODAC 组件,但我不想在必须安装应用程序的所有计算机上安装 oracle 客户端。所以我把这篇文章放在下面:

使用 Oracle 客户端 11 部署 .NET 应用程序所需的最低设置是什么?

本文适用于安装了某种 oracle 或至少 tnsnames.ora 位于正确位置的计算机。但是在新机器上我收到错误 ORA-12645:参数不存在。我尝试将 tnsnames.ora 与 sqlnet.ora 一起打包,但 .dll 找不到它们。下面的代码是错误的来源:

 g_Db.ConnectionString = "Data Source=(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=osw-rmoradev)(PORT=1523))) (CONNECT_DATA=(SERVER=DEDICATED)(SID=RML3A))); User Id=RM_Level3;Password="passowrd";"
            g_Db.Open()

关于如何打包 .ora 文件的任何想法都会有所帮助。

4

2 回答 2

1

您是否尝试过使用 Oracle 数据提供程序而不是安装客户端?我记得偶然发现了这个项目,然后不需要安装 Oracle 客户端。 链接到 ODP

于 2012-07-26T19:17:08.497 回答
0

似乎通过将程序实例的环境变量设置为 .ora 数据文件的位置似乎已经解决了这个问题。

nvironment.SetEnvironmentVariable("PATH", "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0;" + "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0\Data\\R5MG416O.62T\77DKVOW4.TWH\rct...tion_7a1a328dbe52217b_0002.0000_f2dbb34fd1c05e8d\Data;", EnvironmentVariableTarget.Process)
                    Environment.SetEnvironmentVariable("ORACLE_HOME", "c:\Documents and Settings\" & currentUserName & "\Local Settings\Apps\2.0", EnvironmentVariableTarget.Process)
于 2012-07-27T13:44:08.887 回答