Oracle.DataAccess.Client.OracleException

时间:2013-02-12 12:18:51

标签: c#-4.0 oracle11g

我有一个触及oracle数据库的Web服务。

我使用ODP.net oracle数据提供程序。我相信实际的程序集称为Oracle.DataAccess.dll 好吧,虽然我的本地机器上的一切正常,但当我升级到服务器时,我总是得到这个例外......

Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

我尝试过多种方法,包括尝试强制我的服务使用当前的DLL ...

<configSections>
   <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>

  <oracle.dataaccess.client>
    <settings>
      <add name="DllPath" value="C:\WebSites\xxxx.yyy.zzz\OracleDllBinNewbin\Oracle.DataAccess.dll" />
    </settings>
  </oracle.dataaccess.client>

1 个答案:

答案 0 :(得分:0)

在运行本地时,您可能在32位/ x86进程中运行(Visual Studio本身是x86主机)。当您在服务器上运行时,它将变为x64进程。

根据我的理解,Oracle数据客户端dll是x86或x64,不像MS dll那样容纳“任何CPU”,允许Dll在两者之间无缝翻转。

强制您的本地计算机上的托管应用程序在X64(项目属性,构建)中执行,并查看会发生什么。

我仍在试图弄清楚如何在本地工作站和服务之间的引用之间切换,你的小xml片段只是给了我一个线索!