尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

问题来源:

我要把windowsXP 32位系统上的VS2010项目 放在 windows server 2008 64位的服务器上运行,在服务器上装的64位Oracle,用PLSQL链接需要装一个32位的客户端(instantclient-basic-nt-11.2.0.2.0 解压版的)才可以链接,PLSQL可以链接了,我以为配置好了数据库,然后将项目放在服务器上运行,后来发现日志里面提示错误信息:尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。  经过在网上查找原因终于解决了问题,在此做些总结


解决方法:

1. 网上流传的一种方法,(解决方案——属性——目标平台指定平台改成X86),可能这种方法是可以的,但是不适合我

2. http://www.cnblogs.com/joey0210/archive/2012/08/15/2640248.html 这哥们的解决方法也是可以的,下载一个安装包win32_11gR2_client.zip,这个安装包大约600多M,有点大,和上面我解压版的应该是一样的功能,就在我将要安装的时候,一句话点醒了我,请看第三种解决方法

3. 系统的path中,将OracleInstantClient的路径设置在oracle的路径之前就可以了,这正是安装版和解压版的区别所在(系统变量),将 D:\app\instantclient_11_2 放在Path中 Oracle路径的前面,完美解决



写的可能有错误或者不对的地方,欢迎留言评论

推荐一个男装店铺


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值