Provider与Oracle客户端版本不兼容:Web,但不兼容Win

时间:2015-08-25 18:30:17

标签: c# oracle11g

Oracle提供商的错误与Oracle的版本不兼容'已经有一些关于stackoverflow的问题,但看起来所有的答案都是针对x86而不是64位或者缺少DLL。

我不确定这种情况是否独特,但是......

我有一个web项目,win项目和一个包含一些共享代码的项目。 现在所有3个项目都设置为“任何CPU'”。 win项目可以连接到Oracle,但Web项目会出错

  

Oracle.DataAccess.Client.OracleException:提供者不是   与Oracle客户端版本兼容

web和win项目在bin文件夹中都有相同的DLL。

为什么一个连接,而不是另一个连接?我还能尝试什么? (我还尝试过其他平台目标)。

运行时发生错误:

system "echo 'a\x{0}b'";  # BREAKS

编辑:连接字符串是从共享项目编译的,通过读取SQL数据库中的凭据,因此Win和Web conn字符串是相同的。这是一个示例:

OracleConnection oc = new OracleConnection(ConnectionString);

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,事实证明,当您在本地运行Web项目时,iis express默认使用32位作为标准,而您的其他项目可能使用64位版本的dll,这就是它们表现不同的原因,您可以使iis express使用64位版本,也可以选择安装32位版本的ODAC