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

时间:2013-10-24 10:24:24

标签: c# oracle entity-framework odac

所以我有这样的问题。有一个带有Entiti Framework 5模型的Windows应用程序,Oracle数据库,客户端版本是11.2。我的机器是Windows 8 Pro 64位,Visual Studio 2012.该应用程序在服务器上运行,完全没有问题。但是,当我在我的本地机器上运行时,我有这样的异常:

Type initializer "Oracle.DataAccess.Client.OracleClientFactory" thrown an exception. ---> 
Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

我在Google上搜索并搜索了答案,我将所有dll复制到exe文件所在的文件夹中。没运气。本地和服务器都具有相同的ODAC。两台机器都是64位的。任何新鲜的想法都会有所帮助。提前谢谢!

1 个答案:

答案 0 :(得分:0)

这么长时间没有人回答这个问题,让我告诉你为什么,当您调试使用Visual Studio时,iis express默认将使用32bit作为标准,有两种方法可以解决此问题:

  
      
  1. 安装32位ODAC   https://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
  2.   
  3. enale iis Express设置为64位版本:   vs2017,例如tools => Options => Projects and Solutions => Web Projects =>使用64位版本
  4.