Oracle连接在一台服务器上运行,但不在另一台服

时间:2016-06-08 18:48:41

标签: c# asp.net .net oracle dll

我有一个在Visual Studio 2012(C#)中使用Oracle(4.121.1.0)连接开发的ASP.NET(4.0)应用程序。使用连接字符串,因此我们不关注TNS。

应用程序在我的开发服务器(Windows 2008 R2 SP1)上运行时没有问题,我有Oracle DataAccess组件。

我可以将项目发布到我的生产服务器(Windows 2008 R2),运行IIS,但必须将以下dll放入应用程序的bin文件夹中。

  • oci.dll
  • Oracle.DataAccess.dll(随申请一起发布)
  • orannzsbb12.dll
  • oraocci12.dll
  • oraociei12.dll
  • oraons.dll
  • OraOps12.dll

我使用4.0集成为此应用创建了一个应用程序池,并将“启用32位应用程序”设置为true。

oracle连接在此环境中成功运行。

但是现在,当我将完全相同的代码发布到我的测试服务器(Windows 2008 R2 SP1),并将相同的dll复制到bin文件夹并将我的应用程序池设置为与我的生产环境相同时,我得到:< / p>

提供程序与Oracle客户端版本不兼容

这是在TEST服务器上出错的代码行:

oracleConnection = new OracleConnection();

我已经验证PROD和TEST服务器之间的一切都是一样的,但是TEST服务器在没有EXCEPTION的情况下给了我这个错误,并且PROD服务器运行得很完美。

PROD和TEST服务器都没有安装Oracle DataAccess组件。

有关检查内容的任何建议吗?

感谢。

1 个答案:

答案 0 :(得分:0)

根据Mason的建议,我转换为Oracle托管数据访问驱动程序,解决了这个问题。这么简单并解决了这个问题。