Win vs Web:提供程序与Oracle客户端版本不兼容

时间:2013-09-17 13:06:42

标签: c# asp.net winforms oracle dll

我正在尝试从c#打开与Oracle的连接 我在论坛上已经多次看到这个错误,并提供了可能的解决方案。这些解决方案对我有用 - 对于WinForm应用程序。

但是,如果我使用相同的编码(在WinForms中有效)并且我放入ASP.net应用程序,我会在标题中看到错误。

生成此命令的命令是:

OracleConnection oc = new OracleConnection(ConnectionString);

其他信息: 我引用了Oracle.DataAccess(版本2.111.6.20) 我已将所需的dll复制到我的bin目录(oci.dll,ociw32.dll,orannzsbb11.dll,oraocci11.dll,oraociicus11.dll,OraOps11w.dll)。

这些是在WinForms中使用的DLL。

1 个答案:

答案 0 :(得分:0)

此错误主要是由于应用程序的不兼容处理器体系结构(32bit64)以及您添加的Oracle ODAC dll作为参考。它可能在客户端应用程序中有效,但在Web应用程序中无效,因为您可能在不兼容的位版本3264中运行Asp.net应用程序。

如果您在IIS中托管了该网站,则必须检查IIS配置为运行的位版本。

修改

如果上述解决方案无法解决您的问题,请检查您的计算机中是否安装了Oracle Client。某些数据库操作至少需要Oracle客户端安装(Oracle Express或Enterprise等)。没有安装可能会抛出相同的异常。