首先,我的机器上有11和12个oracle客户端。但是当我尝试使用11g版本的oracle.dataacess.dll时。
我已经在regedit上删除了12c寄存器并停止了服务和machince.config相关。 但该程序被抛出"无法加载oraops12.dll .."。
oracle.dataacess找到dll配置的路径是什么? 为什么它仍然试图加载oraops12而不是oraops11。
提前谢谢。
答案 0 :(得分:8)
您的GAC中有一个策略文件正在使用" bindingRedirect"标签
Policy.2.112.Oracle.DataAccess.config
搜索文件(我使用Agent Ransack)然后编辑它。
文件内容如下所示
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89B483F429C47342"/>
<bindingRedirect oldVersion="2.112.2.0-2.112.9999.9999" newVersion="2.121.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
出于某种原因,如果您安装Oracle 12,然后尝试卸载它(即使使用gacutil.exe / u),绑定重定向也会保留。
在我的机器上,它位于C:\ Windows \ assembly \ GAC_32 \ Policy.2.112.Oracle.DataAccess \ 2.121.2.0__89b483f429c47342 \ Policy.2.112.Oracle.DataAccess.config
通过资源管理器无法访问,使用代理搜索功能来跟踪它,然后右键单击它并在编辑器中打开它。
答案 1 :(得分:2)
我刚遇到这个问题。确保并删除c:\ windows \ assembly和c:\ windows \ Microsoft.net \ assembly中以2.12开头的所有策略文件夹和oracle.dataaccess文件夹。 2.11x表示oracle 11.x,2.12x表示Oracle 12.x。
答案 2 :(得分:0)
我在Windows Server 2012中遇到了同样的问题......
的所有事情