前段时间在使用C#程序连接oracle数据库的时候碰到了一个异常:【尝试加载oracle磴涡湿蟾客户端库时引发BadImageFormatException。如果在安装泌驾台佐32位oracle客户端组件的情况下以64位模式运行,将出现此问题】。下面给大家讲一下我自己找到的一些解决方法。
工具/原料
C#程序
oracle数据库
方法/步骤
1、异常如下图所示,出现这种异常一般是C#程序的位数和本机安装的oracle客户端(instantclient)位数不一致导致的,只要将这两个的位数保持一致就可以解决这个问题了。
2、因为我的电脑上已经安装了一个64位的oracle客户端(instantclient),而我发现我的C#程序的目标平台是x86,两个不匹配,那么我就将目标平台改为了AnyCPU,这样就没有那个错误了。
3、上面的那种方法虽然可以骈禄笫杳解决问题了,但是我发现我的程序的目标平台需要是x86,那么这个时候我就不能简单地把目标平台改成AnyCPU了,而块吧吨翘是需要安装一个32位的oracle客户端。我们下载一个32位的instantclient,把这个文件解压开放到一个目录下面,然后将这个路径配置到path环境变量中,此时我们重新打开我们的C#程序,目标平台是x86,这个时候再次访问oracle数据库,之前的问题应该就消失了。