欢迎来到天天文库
浏览记录
ID:1971603
大小:1018.00 KB
页数:3页
时间:2017-11-14
《使用vs开发基于oracle程序的严重问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、开发环境:ORACLE10GVS2010WIN732BIT发布:SERVER200864BITORACLE11G_x64_SERVERIIS7.0基于Oracle开发时遇到数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题TheProbleminenglishis:"AttempttoloadOracleclientlibrariesthrewBadI
2、mageFormatException.Thisproblemwilloccurwhenrunningin64bitmodewiththe32bitOracleclientcomponentsinstalled"呵呵,两种情况都让我碰到了,那就一起解决了他我搞了整整两天才解决,网上有是有相关资料,但是都不全。具体原因也不明了.下面我来全面的讲述一下。追根究底:请看下图:VS编译器调试过程用的并不是IIS来发布而是用上面这个进程。我们可以看到,他明显是一个32位的。而IIS7的进程w3wp是64bit的。
3、这就说明,如果我们在调试,那么我们的程序就在模拟32位运行,部署之后,确是模拟64位运行,让我最不能理解的是为什么一个是模拟32位运行,一个是模拟64位运行,而给我们的异常信息确实相同的呢?先不管这么多,至少现在这里我们可以得出一个结论:如果你写的程序调试过程没有任何问题,那么你发布到64位IIS时就一定会有问题,反之则得到相反的结果。解决方法如下:情况一.调试过程没有任何问题,发布时出现问题若调试没有任何问题,那么你肯定是使用32bitoracleclient了,而服务器的IIS是64bit的,所以需
4、要发布网站的话,必须安装64bitclient情况二.调试过程出现问题,但是在IIS上测试没有问题若IIS测试没有任何问题,那么你肯定使用的是64bitoracleclient了,调试出错是因为调试的WebDev进程服务器是32bit的,为了模拟真实环境,你需要进行一些设置。如果是这样的情况,那你就改VS的调试服务器吧,改成IIS就可以了。到这里,我们可以下结论,Oracle给的异常信息对于第一种情况来说是正确的,对于第二种情况则是错误的,意思刚好相反!!!可能是做本地化人员的一个粗心错误。
此文档下载收益归作者所有