Oracle 12.2客户端能否与11.2版本的Oracle.DataAccess.dll通信?
我们的应用程序是使用oracle 11g oracle.DataAccess.dll构建和打包的,在同一个框中,我们安装了12.2 oracle客户端(没有安装其他oracle客户端)。Oracle服务器正在12.2版本上运行 现在,当我们安装产品时,它正试图通过客户端与Oracle Server通信。但是我们产品的Oracle.DataAccess.dll(基本上是11g版本)无法与12.2 Oracle客户端通信 我们有没有办法成功沟通?我们不想将12.2 dll与安装程序打包并立即发布。请建议是否有任何调整,可以使其兼容 谢谢,Oracle 12.2客户端能否与11.2版本的Oracle.DataAccess.dll通信?,oracle,oracle11g,oracle12c,Oracle,Oracle11g,Oracle12c,我们的应用程序是使用oracle 11g oracle.DataAccess.dll构建和打包的,在同一个框中,我们安装了12.2 oracle客户端(没有安装其他oracle客户端)。Oracle服务器正在12.2版本上运行 现在,当我们安装产品时,它正试图通过客户端与Oracle Server通信。但是我们产品的Oracle.DataAccess.dll(基本上是11g版本)无法与12.2 Oracle客户端通信 我们有没有办法成功沟通?我们不想将12.2 dll与安装程序打包并立即发布。请
Arindam。否,Oracle客户端的版本和Oracle.DataAccess.dll的版本必须匹配。即使次要版本不同,您也可能会遇到问题,例如客户端版本
12.1.0.2.x
与Oracle.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>
Policy.4.112.Oracle.DataAccess.config->
并下载匹配的XCopy版本。从ZIP中提取正确的Oracle.DataAccess.dll
文件,并将其与应用程序一起提供。您的意思是在一台计算机上安装了12.2版和11.2版吗?这可能是一个挑战,因为一些组件依赖于环境变量%PATH%
,这意味着“先到先得”。否。我已经安装了12.2 oracle客户端。但我的应用程序是基于.NET的应用程序,它是用11.2 Oracle.DataAccess.dll打包的。因此,此dll将与12.2客户端通信以更新oracle服务器。然后,请参阅我的答案,在您的计算机上,它应自动重定向到您的12.2版本的oracle.DataAccess.dll。但是,我的产品中的11.2 dll和当前的12.2 oracle data access dll将如何通信?我需要修改任何东西使其工作吗?我有一个配置文件:Policy.4.112.Oracle.DataAccess.config再次说明,您的产品不加载11.2 dll-它加载12.2版本(当然,如果已安装)