您的位置:首页 > 数据库 > Oracle

如果在安装32位Oracle客户端组件的情况下64位模式运行, 将出现此问题.

2016-12-15 00:00 387 查看
摘要: 就是不写摘要.

场景重现

在一台
Windows 7 32-bit
电脑上

安装了
Oracle 11gR2 32-bit
的客户端

用 VS2010 写的一个基于数据库驱动的项目

操作
Oracle数据库
都挺正常的

后来...

在一台
Windows 10 64-bit
电脑上(其实就是升级重装了)

安装了
Oracle 11gR2 64-bit
的客户端

还是原来的那个基于数据库驱动的项目

访问Oracle数据库出现如下异常:



异常原因

几经折腾之下(夜深人静的时候跟度娘交流好多次)

发现是项目中连接
Oracle
用的是
System.Data.OracleClient
这个VS2010自带的数据库驱动是
32-bit


而项目中用该驱动操作数据库的时候最终还是必须通过本机的 Oracle 客户端去操作.

而原先本机的
Oracle客户端
32-bit
, 操作数据库自然正常

而现在本机的
Oracle客户端
64-bit
, 操作数据库自然异常

解决方案(几种)

去搞一个
64-bit
System.Data.OracleClient
驱动(不建议这么做, VS都说该驱动早过时了, 叫你不要用了)

再装一个
Oracle 11gR2 32-bit
的客户端(我反正是这么干的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息