.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能减少开发遇到的问题,会影响性能?感觉不出来,小项目上代码的执行效率才是关键。