webservice部署到64位操作系统下,客户端调用ws,提示如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。。

lyshrine 2012-08-23 04:51:49
如题,webservice 我是用vs2008 anycpu编译的,放到了64位操作系统的IIS下,操作系统下装的是64位ORACLE客户端,

测试客户端调用ws时,ws生成的操作日志总是提示:
尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

另:我单独编译个exe的 anycpu的 小程序放到这台64位操作系统下,就可以从数据库中获取到数据。

难道webservice 和EXE的有啥不同的区别设置?

请高手指点
...全文
6702 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjh1119633467 2013-05-23
  • 打赏
  • 举报
回复
你把你的项目重新编译一下,记得编译前,先选择项目,右键属性,找到生成,在目标平台选择x86,然后保存,然后重新编译。(VS平台)
sdsxc 2013-04-20
  • 打赏
  • 举报
回复
我也是遇到这个问题 我的客户端是32bit 服务器是64的 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 不知道怎么解决!
qldsrx 2012-08-23
  • 打赏
  • 举报
回复
我好像看错了提示,那个提示是说你的程序已经以64位在运行了,但是使用的Oracle组件却是32位的,你检查下项目中引用的是不是也是32位的组件啊,如果你的项目所在电脑是32位电脑,那么就去64位的服务器上把那个64位的dll复制过来引用并编译,不会报错的,但是没法执行而已。然后把编译后的文件丢到64位服务器上去。
这应该是版本识别错误,你也可以直接手动修改web.config里面的版本号,前提是你会修改。
lyshrine 2012-08-23
  • 打赏
  • 举报
回复
请问如何设置iis中应用程序池中iis是以64位运行?
qldsrx 2012-08-23
  • 打赏
  • 举报
回复
楼上说的没错,或者你就安装32位的Oracle客户端,按照32位运行也没关系。
孟子E章 2012-08-23
  • 打赏
  • 举报
回复
确保安装的客户端真的是64位的,并且iis中应用程序池中iis是以64位运行

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧