美文网首页
C#以oledb连接oracle遇到的问题

C#以oledb连接oracle遇到的问题

作者: AI时代岁月笔记 | 来源:发表于2020-11-07 09:34 被阅读0次

接手一个内部C#写的winform程序,用oleDb连接oracle数据库,始终报错:

未在本地计算机上注册“OraOLEDB.Oracle”提供程序

连接串为 <add name="oracle" connectionString="Provider=OraOLEDB.Oracle;Data Source=ASTEST;Password=123456;User ID=apms;"/>

尝试了网上介绍的很多方法,没有效果。

比如:regsvr32 "D:\oracle\product\11.2.0\dbhome_1\BIN\OraOLEDB11.dll" 也是徒劳

诡异的是我新写一个控制台程序,用以上链接又正常,这说明了本地驱动是没有问题的,那问题出错哪里呢,无意中发现项目属性“生成”页勾选了“首选32位(p)", 

去掉以上的勾选,再运行就正常了

另外,还发现相关二个问题:

1. Provider提供程序的问题:连接中提供程序若用Provider=MSDAORA;Data, 会报错:未在本地计算机上注册"MSDAORA.1"提供程序,这个或许可以理解,我64位电脑是没有这个驱动

2. 中文乱码问题:同样的oracle连接,从表中访问的中文可以正常显示,但Select '国家' as ID from dual输出中文又是乱码了,还不知是何原因

相关文章

网友评论

      本文标题:C#以oledb连接oracle遇到的问题

      本文链接:https://www.haomeiwen.com/subject/iirfbktx.html