所以我有这样的问题。有一个带有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位的。任何新鲜的想法都会有所帮助。提前谢谢!
答案 0 :(得分:0)
这么长时间没有人回答这个问题,让我告诉你为什么,当您调试使用Visual Studio时,iis express默认将使用32bit作为标准,有两种方法可以解决此问题:
- 安装32位ODAC https://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
- enale iis Express设置为64位版本: vs2017,例如tools => Options => Projects and Solutions => Web Projects =>使用64位版本