永发信息网

如何在安装32位Oracle客户端组件的情况下以64位模式运行

答案:2  悬赏:30  手机版
解决时间 2021-04-02 11:38
如何在安装32位Oracle客户端组件的情况下以64位模式运行
最佳答案
C#使用System.Data.OracleClient连接Oracle数据库。之前在WinXP上正常运行的程序移植到Windows 2008 x64上之后就连不上数据库了,错误信息如下:
启动database2sharp工具时提示:
数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题。
错误原因是原来WinXP机子上所安装的OracleInstantClient是32位,所以编译的程序所用的OracleClient也是32位的,从而导致兼容问题。当然,如果在64位操作系统上重新安装64位的Oracle客户端再重新编译程序也是能解决问题的。这里我们介绍一种简单的方法来移植程序。
实际上,System.Data.OracleClient所指向的是PATH环境变量下的oci.dll。因此,我们只要让程序能够找到64位的oci.dll就可以了。方法如下:
1. 下载instantclient-basic-win-x86-64-11.1.0.7.0.zip,并解压,如C:\instantclient-basic-win-x86-64-11.1。
2. 在系统的环境变量PATH中加入以上路径。
之后再运行程序,程序会依照PATH路径寻找oci.dll,如果遇到32位的oci.dll会自动略过,找到64位的oci.dll就能连接上数据库了。
全部回答
安装64位Oracle客户端。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
今天买了2条黄的清道夫但不知道叫什么?
整夜睡不了,吃银耳芦笋汁有用吗?
扁鹊故乡是那里
拼命洗脸只会越洗皮肤越差,网传的几个洗脸偏
QQ飞车手游猩红公爵怎么改装 猩红公爵最佳改
消防应急自动充电强切接线
男朋友小时候摔了 然后就失忆 不记得 摔跤前
猜谜(一统燕中秦始立)打一字
大封门森林公园的旅游提示
无情最是黄金物,变尽天下儿女心。什么意思
哪位大神有backtrack5 ISO文件,我想做个系统
家里烧煤炉,长时间闻那个气味对人有哪些危害
上面火下面月怎么读
在这个季节刚铺完的地砖几天能上人刮腻子?
驾驶台的显示屏显示出wsc是什么意思?
推荐资讯
唱歌怎样做到气息下沉
唐朝的中书省和宋朝的中书省有什么区别
什邡哪里好耍?
看了《肩上蝶》,感觉电影中的场景很美,想知
0x10000000是多少位二进制的
请教命理爱好者台湾的胡一鸣,和大陆的李涵辰
小周天气功视频
成语玩命猜中锣鼓两字很多的答案
王玄策“一人灭一国”的事迹是真实的吗?
王者荣耀体验服我明明抢了号了,可是我登录说
图片规格:尺寸:600*450是什么意思
为什么我总见一个爱一个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?