Oracle 12.2客户端可以与11.2版本的Oracle.DataAccess.dll通信吗?

时间:2018-06-15 07:14:32

标签: oracle oracle11g oracle12c

我们的应用程序是使用oracle 11g Oracle.DataAccess.dll构建和打包的,并且在同一个框中我们安装了12.2 Oracle Client(没有安装其他oracle客户端)。 Oracle服务器运行在12.2版本上。

现在,当我们安装我们的产品时,它正试图通过客户端与Oracle Server进行通信。但是我们产品的Oracle.DataAccess.dll(基本上是11g版本)无法与12.2 Oracle客户端通信。

我们有没有办法成功沟通?我们不想用我们的安装程序打包12.2 dll并立即释放它。请建议是否有任何可以使其兼容的调整。

谢谢, 阿瑞丹姆。

1 个答案:

答案 0 :(得分:0)

不,Oracle客户端版本和Oracle.DataAccess.dll版本必须匹配。即使次要版本不同,您也可能遇到问题,例如:客户端版本12.1.0.2.xOracle.DataAccess.dll版本12.1.0.1.x

但是,如果ODP.NET(即Oracle.DataAccess.dll)与Oracle Client一起安装,那应该没问题。 GAC应包括

等政策
Policy.4.112.Oracle.DataAccess.config ->

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342"/>
            <bindingRedirect oldVersion="4.112.0.0-4.112.9999.9999" newVersion="4.122.1.0"/>
        </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration> 

您的应用程序是否使用ODP.NET版本11.2构建并不重要,该策略应自动将其重定向到已安装的版本12.2。

否则请转到其中一个页面

并下载匹配的 XCopy 版本。从ZIP中提取正确的Oracle.DataAccess.dll文件,并将其与您的应用程序一起提供。