我在调整应用程序以使用独立的Oracle Install Client / ODP.Net配置时遇到问题。
我尝试按照以下步骤操作: http://alderprogs.blogspot.com/2009/04/deploying-odpnet-with-oracle-instant.html 但我一直收到可怕的“提供商与Oracle客户端版本不兼容”的错误。
以上示例提到了ODP.Net 2.x部署,我必须使用1.x.
我不确定1.x是否可以与Instant Client配合使用
有没有其他人有这种特殊问题的经验?
P.S。我希望甲骨文有一个特殊的地方让ODP.Net成为PITA。
答案 0 :(得分:1)
这可能是因为Oracle.DataAccess已经在GAC注册。
CLR加载此版本而不是本地版本(即使GAC引用较新版本的Oracle.DataAccess,也很可能会发生这种情况,因为GAC中也安装了发布者策略文件)。
当程序集位于GAC中时,永远不会使用Instant Client dll(位于App文件夹中),而Oracle.DataAccess将寻找调度程序Oracle Client-installation。这可能导致“提供程序与Oracle客户端版本不兼容”。
如果是这种情况,您需要从GAC卸载Oracle.DataAccess:
gacutil /u Oracle.DataAccess
您还需要以相同的方式卸载策略文件。