C# ODAC 12c第2版(12.1.0.1.2)Xcopy与Oracle 11g R2数据库的兼容性
我正在尝试升级我的C#项目,以使用最新的ODAC 12c版本,我下载了ODAC 12.1 xcopy for Windows。安装很好,但问题是在我尝试执行单元测试时开始的 我的测试用例在C# ODAC 12c第2版(12.1.0.1.2)Xcopy与Oracle 11g R2数据库的兼容性,c#,oracle,oracle11g,odp.net,oracle12c,C#,Oracle,Oracle11g,Odp.net,Oracle12c,我正在尝试升级我的C#项目,以使用最新的ODAC 12c版本,我下载了ODAC 12.1 xcopy for Windows。安装很好,但问题是在我尝试执行单元测试时开始的 我的测试用例在connection.Open()上失败。样本如下: OracleConnection con = new OracleConnection(); con.ConnectionString = @"User Id = test, Password = test; Data Source = test"; co
connection.Open()
上失败。样本如下:
OracleConnection con = new OracleConnection();
con.ConnectionString = @"User Id = test, Password = test; Data Source = test";
con.Open();
不幸的是,没有异常消息,堆栈跟踪也没有多大帮助:
结果堆栈跟踪:
at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)
at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at MyProgram.Program.GetDetails()
当我尝试调试时,在执行开始时弹出一个错误消息框,说明:在动态链接库oraons.dll中找不到过程ons_init_wconfig_ctx point的条目
我想知道是不是少了什么
Oracle数据库版本:11.2.0.3.0
Oracle客户端版本:11.2.0.3.0
ODAC版本:12.1.0.1.2如果是非托管客户端,请尝试设置dllpath:
<configuration>
<oracle.dataaccess.client>
<add key="DllPath" value="C:\<your_xcopy_dir>\bin"/>
</oracle.dataaccess.client>
</configuration>
您可能正在从以前的oracle主页中拾取非托管DLL。通常情况下,我会看到一条“加载程序集失败”的消息,但12之后情况可能发生了变化。如果这确实解决了,而且你厌倦了处理“甲骨文家庭”,那么就考虑新的Oracle .MauldDATAccess .DLL。
无论如何,我不认为这是一个客户机/服务器兼容性问题 我遇到了与桌面应用程序相同的问题,即“在动态链接库oraons.dll中找不到过程ons_init_wconfig_ctx点的条目”
经过几天的努力,终于找到了解决办法。步骤如下:
宾果开始工作。您是否捕获到异常?请这样做,并在内部找到ORA错误,让我们知道它是什么。您可能还可以将该路径添加到path环境变量,而不是复制到bin文件夹,正如xcopy自述文件所建议的那样。