webservice部署到64位操作系统下,客户端调用ws,提示如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。。
如题,webservice 我是用vs2008 anycpu编译的,放到了64位操作系统的IIS下,操作系统下装的是64位ORACLE客户端,
测试客户端调用ws时,ws生成的操作日志总是提示:
尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
另:我单独编译个exe的 anycpu的 小程序放到这台64位操作系统下,就可以从数据库中获取到数据。
难道webservice 和EXE的有啥不同的区别设置?
请高手指点
------解决方案--------------------确保安装的客户端真的是64位的,并且iis中应用程序池中iis是以64位运行
------解决方案--------------------我好像看错了提示,那个提示是说你的程序已经以64位在运行了,但是使用的Oracle组件却是32位的,你检查下项目中引用的是不是也是32位的组件啊,如果你的项目所在电脑是32位电脑,那么就去64位的服务器上把那个64位的dll复制过来引用并编译,不会报错的,但是没法执行而已。然后把编译后的文件丢到64位服务器上去。
这应该是版本识别错误,你也可以直接手动修改web.config里面的版本号,前提是你会修改。