【问题标题】:Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle clientOracle.DataAccess.Client.OracleException:提供程序与 Oracle 客户端版本不兼容
【发布时间】:2013-10-24 10:24:24
【问题描述】:

所以我有这样的问题。有一个 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位的。任何新鲜的想法都会有所帮助。提前致谢!

【问题讨论】:

  • 您是仅在 Visual Studio 中遇到问题,还是在运行 EXE 时遇到问题?
  • 我无法构建它是 Visual Studio。我只有 SVN 的源代码。

标签: c# oracle entity-framework odac


【解决方案1】:

这么久没人回答这个问题,我来告诉你为什么,当你使用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 => 使用 64 位版本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-31
    • 2010-10-14
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2010-11-18
    • 2014-05-25
    相关资源
    最近更新 更多