首页 > 代码库 > Ibatis 访问64位Oracle时的问题

Ibatis 访问64位Oracle时的问题

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的版本进行修改