我们平时使用的都是32位的机器进行开发,装的都是32位的软件,但是我们的服务器一般都是64位的,所以有时也需要在64位的环境下装一个VS调试程序。最近遇到的一个问题就是一个同事换了一个电脑,用的是X64的Windows 2008作为操作系统,要进行Oracle的数据库连接,所以也装了64位的Oracle客户端。如果是控制应用项目或者WinForm项目可以正常连接Oracle,但是Web项目在程序中打开Oracle连接时,系统抛出了异常:

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

显然,这个提示的不正确,因为我们装的就是64位的客户端,所以并不存在64位程序调用32位客户端的情况。难道是生成的程序是32位的,然后32位调用了64位的客户端,于是我把程序属性中的生成平台改为X64,如图所示:

结果这样生成的WebService程序在调用时还是报同样的异常。这个问题困扰了我一天,其中想到的解决办法就是把64位的客户端卸载了,在X64的操作系统中安装32位的客户端,然后这样就可以了,但是如果不是Web应用(比如控制台应用程序或者WinForm程序)却同样报错,那就需要将非Web应用的项目按照上图的设置方法,将生成的平台改为X86才能正常运行。

解决办法:

这当然是一个折中的办法,今天终于发现了真正的原因,原来VS在建Web项目时,平时运行使用的是自带的WebDev.WebServier是一个32位的服务,所以在其中运行的Web项目不管怎么设置平台,都只能作为32位的应用来看待,所以在Web项目运行时连接64位的Oracle客户端会报错,而非Web项目就不会。

网上搜了一下,好像WeDev服务好像没有64位的,所以要解决这个问题,那么就不要使用这个服务作为Web服务,而使用IIS,因为IIS使用的是w3wp,在64位的操作系统中是64位的,所以可以正常使用64位的Oracle客户端。具体设置如下:

这样设置后,每次运行就好以IIS来运行,不管是Web项目还是控制台应用项目或者WinForm项目,都会正常连接Oracle了。

在64位的环境中使用VS建立Web项目进行Oracle连接需要注意WebDev是32位的相关推荐

  1. Win7x64中使用VS调试WEB项目报“ORA-06413: 连接未打开”错误解决方法

    错误描述 普通Web项目,Web项目在32位系统上跑的好好的,一点问题没有. 使用VS内置的开发服务器调试,页面能正常启动,但一连接数据库就报"ORA-06413: 连接未打开"错 ...

  2. Maven学习总结(七)——eclipse中使用Maven创建Web项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Pr ...

  3. (转)Maven学习总结(七)——eclipse中使用Maven创建Web项目

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Project 选择File -& ...

  4. oracle client 11.2.0.3 32位,oracle client 32位/64位下载(Oracl数据库)

    今天给大家推荐的这款oracle client软件是一款功能丰富的数据库管理系统,支持32位/64位系统,用户可以通过该Oracl数据库工具执行OCI.OCCI.PRO*C.ODBC和JDBC程序,o ...

  5. oracle 10g 10.2.0.4 32位升级到64位

    32位升到64位有以下几种方法: 1.copy datafile后运行脚本升级 2.rman restore后运行脚本升级 3.通过exp/imp,expdp/impdp的transfer table ...

  6. 集群应用服务器环境中会话管理(复制)的Oracle Coherence最佳实践

    Oracle Coherence是一种内存中数据网格产品,也广泛用于跨应用程序服务器节点集群的会话复制. 它支持各种应用程序服务器,例如WebLogic,WebSphere,Tomcat,JBoss等 ...

  7. linux vps 运行exe文件夹,linux 64位下安装wine1.6 Windows模拟器(用来运行.exe文件) 编译安装32位wine...

    cd yum groupinstall 'Development Tools' -y yum install libX11-devel freetype-devel -y wget http://pr ...

  8. oracle 新增字段id 并赋值32位_优雅的数据库ID设计

    数据库表设计是项目开发中逃不掉的问题,每一张表,我们都会设计一个ID主键字段,关于表ID的生成方式,每个人都有自己的见解,我们就来讨论如何优雅的设计数据库ID 自增ID 这种方式用起来最简单,也是很多 ...

  9. 计算机连接网络被限制,win7 32位旗舰版系统网络连接受限制的解决方法大全

    win7 32位旗舰版系统网络连接受限制的解决方法大全分享给大家,网络连接首先已经不是什么新鲜的事情了,相信大部分用户或多或少都遇到过这样的情况,那么对于网络无法连接的故障其实有很多方面的因素导致,因 ...

最新文章

  1. got github
  2. android menu分割线,给 NavigationView 的Menu的分割线 设置高度和颜色
  3. iphone中使用第三方工具(RegexKitLite)实现正则表达式
  4. ORM的问题第2部分–查询
  5. i红枣:在没有暴露链接地址的C#情况下
  6. Tomcat Caused by java lang OutOfMemoryError PermGen space
  7. python遍历数组的两种方法及将print的内容写入文件中
  8. quartz.net隔一天执行一次_一天拉几次大便算正常?啥时候拉最好?关于便便的事,可算明白了...
  9. HDU 2955 Robberies(概率DP,01背包)题解
  10. ps aux 输出格式
  11. matlab水蒸气焓值计算_暖通干货,巧析焓湿图,焓湿图如何应用?一读就懂不容错过...
  12. [原创]WIA 学习笔记
  13. 关于内存条低压标压以及不同品牌容量内存条组建双通道笔记
  14. 模型剪枝,“剪”掉了什么?
  15. 网络协议分析软件Sniffer Pro 4.7.5 破解版
  16. 飞思卡尔B车改装(多图,少字)
  17. 北京尚学堂视频系列(Oracle)
  18. 海外高防CDN有哪些优势
  19. 达龙云服务器也垃圾别买,达龙云电脑:云游戏即将开启游戏领域新篇章
  20. 【SSL_1517】糖果盒

热门文章

  1. 最新的NLP开源神器来了!
  2. 经验总结!我们是如何在编程面试中挂掉的
  3. 北大清华合力打造通用人工智能实验班
  4. 超详细配置教程,搭建 Windows 深度学习环境
  5. 阿里工程师力荐的计算机网络和算法资料,限时下载!
  6. 为什么说卷积神经网络,是深度学习算法应用最成功的领域之一?
  7. CVPR 2020 Oral | 旷视提出Circle Loss,革新深度特征学习范式
  8. 双十一来这儿,华为昇腾的秘密都给你!
  9. 快手百度 4.34 亿美元投资知乎;腾讯回应“push团队全部被开”;Android Q Beta 6 发布!...
  10. 转,大佬关于虚拟内存与物理内存关系讲解。