OCIEnvCreate失败,返回码为-1,但ODP.net无法使用错误消息文本

时间:2012-10-15 17:39:10

标签: oracle odp.net

我正在尝试学习ORP.net并查看this article on Deploying ODP.NET with Oracle Instant Client。我已经下载并复制了项目中的所有DLL,但是在测试步骤中,当构建应用程序时,我收到以下错误:

OCIEnvCreate failed with return code -1 but error message text was not available

我正在使用oraclexe并且我有一个Oracle客户端。我已经授权经过身份验证的用户。我该如何解决这个问题?

5 个答案:

答案 0 :(得分:6)

尝试连接到Oracle数据库时,会收到以下错误:

  

OCIEnvCreate失败,返回码为-1,但错误消息文本不可用

原因:

  1. 您在Windows 7上使用的是不受支持的Oracle客户端版本(早于11.2)。

  2. 以前安装的Oracle客户端的DLL已经留在系统上,导致冲突。

  3. 解决方案:

    1. 安装受支持的Oracle客户端版本。

    2. 在本地计算机上搜索“OCI.DLL”。如果您在ORACLE_HOME以外的任何位置找到此文件的任何实例,请将其重命名或删除。如有疑问,请卸载Oracle客户端,然后再次执行搜索。任何剩下的东西都是罪魁祸首。

答案 1 :(得分:2)

对我有用的是将ORACLE_HOME设为oracle\client\your_version\home1而不是oracle\client\your_version\home1\BIN

答案 2 :(得分:0)

重新安装Oracle并使用新的安装文件夹更新ORACLE_HOME环境变量。 在再次尝试申请之前,不要忘记回收您的应用程序池。

答案 3 :(得分:0)

我还必须为x86和x64应用程序创建符号目录链接。我必须采取的步骤如下:

  1. 确保NET MANAGER可以连接到Oracle。
  2. mklink / D C:\ Windows \ System32 \ orcl
  3. mklink / D C:\ Windows \ SysWoW64 \ orcl
  4. 将ORACLE_HOME的环境变量设置为C:\ windows \ system32 \ orcl
  5. 将C:\ windows \ system32 \ orcl \ bin添加到您的路径
  6. 直到我重新启动计算机后才开始工作

答案 4 :(得分:0)

尝试将Power BI连接到Oracle数据库时,我也遇到了同样的问题。

我安装了2个版本的Oracle客户端。 11.2和10.2。当我卸载旧版本时,它就像一个魅力。

需要注意的一点是,在Power BI中,当连接到oracle数据库时,它要求我提供服务器。但是我要输入的是我的tnsnames.ora文件中该连接的名称:)