【问题标题】:C# connectiong to oracle error - "The provider is not compatible with the version of Oracle client"C# 连接到 oracle 错误 - “提供程序与 Oracle 客户端的版本不兼容”
【发布时间】:2014-05-25 16:53:48
【问题描述】:

我正在测试与我的 oracle 数据库的连接 视觉工作室 2012 Oracle 11g R2 客户端 32 位本地 Oracle 11g R2 客户端 64 位服务器 ODAC 11.2.0.320 32 位

当我在本地建立连接时,我能够获取要从数据库返回的信息。当我在服务器上发布它时,我不断收到“提供程序与 Oracle 客户端的版本不兼容”。我是否需要安装 64 位 ODAC 并从那里使用那个 Oracle.DataAccess.dll?

谢谢

【问题讨论】:

    标签: c# oracle oracle11g 32bit-64bit odac


    【解决方案1】:

    32 位客户端可以与 64 位服务器通信,这就是它在本地为您工作的原因。当您发布到服务器(我假设为 ASP.NET)时,ODP.NET 版本必须完全匹配。例如。如果服务器是 64 位,您需要针对 64 位 ODP.NET 在本地构建。此外,ODP.NET 对版本是否完全相同非常挑剔,因此请注意这一点。

    【讨论】:

    • sgrassie,谢谢您的回复。那么我需要在本地机器上安装 64 位版本的 ODAC 并使用那个 dll 吗?我们在服务器上只有客户端 11g R2。我是否也必须单独安装 ODAC?我应该在本地和服务器上安装相同的 64 位 ODAC 吗?谢谢
    • 在您的本地机器上它正在工作,所以那里不需要任何东西。但是在您的服务器上,您必须在与 11g R2 客户端相同的架构 (x64 / x86) 和版本中安装 ODAC 组件。你必须将你的项目编译为与服务器运行相同的架构。
    • 在我的本地机器 (x86) 和服务器 (x64) 上安装了相同的 11g R2。我不确定在哪里可以找到确切的版本。我已经在我的本地计算机上安装了 ODAC 11.2 第 5 版和适用于 Visual Studio (11.2.0.3.20) 32 位的 Oracle 开发人员工具。现在我必须在服务器上安装 64 位版本的 ODAC 11.2 Release 5 吗?谢谢
    • 是的,您必须根据该服务器上Oracle客户端的版本和体系结构在您的服务器上安装ODAC,所以11.2(次要版本应该无关紧要)。检查注册表HKLM/Software/Oracle。如果存在,它是一个 x64 客户端,否则它在 HKLM/Software/WOW6432Node/Oracle for x86
    • 我的网络一旦备份就会出现问题,我将在服务器上安装 odac 的 64 位版本,然后对其进行测试并发回我的结果。谢谢
    猜你喜欢
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 2010-10-14
    • 2018-06-04
    • 1970-01-01
    • 2013-06-29
    • 2010-11-18
    • 2013-08-07
    相关资源
    最近更新 更多