Ibatis提供的访问Oracle的连接方式很多
1.ODBC
没有尝试
2.OLEDB
报没有注册OraOLEDB.ORACLE.1提供程序的错误,不使用IBatis直接使用OLEDBConnection没有出现这个问题
3.Oracle.Client
这个是微软提供的连接程序,微软已经表示不再继续提供支持,由于连接的是64位的Oracle,所以生成的项目必须选择生成64位,
否则会提示“{尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。}”。
最后是把底层调用sql和main中调用底层的项目都改为64位,才解决。这样没法调试了....
4.ODP.NET
使用的Oracle的Oracle.Access.dll访问数据库,位数和安装的Oracle位数是一样的,所以64位下的ORACLE.ACCESS.DLL也是64位,如果项目是32位会提示
否则会提示“无法加载ORACLE.ACCES.DLL VERSION=XX.XX.XX.XX PUBLIC KEY=0EA8127128BA2D43”的错误,
最后是把底层调用sql和main中调用底层的项目都改为64位,才解决。这样还是会无法调试,
在底层的Providers.config 下可以根据Oracle的提供Oracle.Access.dll的版本进行修改
Ibatis 访问64位Oracle时的问题,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/Dunk/p/3712705.html