1

所以我有这样的问题。有一个 Entiti Framework 5 模型的 Windows App,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

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

4

1 回答 1

0

很久没有人回答这个问题,我来告诉你为什么,当你使用visual studio调试时,iis express默认使用32bit作为标准,有两种方法可以解决这个问题:

  1. 安装 32 位 ODAC https://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
  2. enale iis express 设置为 64 位版本:例如 vs2017,tools=>Options=>Projects and Solutions => Web Projects => Use the 64 bit version
于 2019-01-02T02:29:57.467 回答