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

电脑软件配置:WIN10(64位)、  Oracle11.2.0(64位)、PLSQLDeveloper(64位),VS2019

用VS2019使用System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089的OracleConnection类连接Oracle时报错误,错误内容:尝试加载 Oracle 客户端库时引发 BadImageFormatException,如果在安装32位Oracle 客户端组件的情况下64位模式运行,将出现此问题

问题分析:

使用的是一些老代码,.netframework版本比较低,好像是2.0左右,报错后升级到3.5,使用plsql客户端直接连接数据库,没问题,使用navicat测试连接也没问题。

tnsnames.ora配置文件也无异常

 

 百度一番之后,前辈们说将目标平台修改至x64可连接数据库成功,修改为至x64后依旧报错:

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

后尝试修改为x86也无果

后复盘了一下,怀疑是System.Data.OracleClient版本的问题,在网上搜到的dll版本都不支持win7以后的版本。

 本程序是前后端两个项目文件,后端连接数据库的famework升级为3.5,后因为其他问题将前端项目升级到4.0,重新运行,数据库连接成功,不再报错。

后端目标框架.net framework 3.5

 前端目标框架.net framework 4.0

 

总结:

解决此问题的两个重要步骤:

1.服务端项目目标平台修改至x64

2.前端目标框架famework升级为4.0

至于深层次的原因本人没想明白,但是多次遇到此问题,每次都被拦住,故做此纪录

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值