Oracle 12.2 客户端能否与 Oracle.DataAccess 通信.dll 11.2 版本?



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

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

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

谢谢 阿林丹。

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

但这应该没有问题,只要 ODP.NET(即Oracle.DataAccess.dll( 随 Oracle 客户端一起安装。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> 

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

否则转到这些页面之一

  • 64 位 Oracle 数据访问组件 (ODAC( 下载
  • 32 位 Oracle 数据访问组件 (ODAC( 和 NuGet 下载

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

相关内容

最新更新