首页 > 代码库 > .net程序错误:BadImageFormatException....如果在安装32位Oracle客户端组件的情况下以64位模式运行

.net程序错误:BadImageFormatException....如果在安装32位Oracle客户端组件的情况下以64位模式运行

OracleClient 程序要连oracle数据库,提示如下错误:

数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题。 

1.IIS部署时

网上搜索了一下,有各种办法,试过多安装了一个64位的oracle11g客户端,还是不行。后来想到是否是iis的问题,之前配置iis的时候好像碰到过32位64位的一个设置,看了以前的博客之后把应用程序池做了如下设置

将应用程序池的高级设置和默认设置里,启用32位应用程序设为true ,原来是false。

设置完之后就没有这个错误了。百度搜到的结果里面都没提到这个,可能人家碰到的跟我碰到的问题不一样。

造成这个错误的具体原理还不清楚。 

2.开发时

遇到过同样的问题,可能的主要原因是VS2010(其它的未测试)的调试是基于x86的(?版本问题?),所以安装64位Oracle客户段可能会出问题。

所以统一一下Oracle版本很必要,统一x86能减少开发遇到的问题,会影响性能?感觉不出来,小项目上代码的执行效率才是关键。