NET连接Oracle数据库踩过的坑

使用System.Data.OracleClient 常见问题有

ORA-12560: TNS:protocol adapter error错误

ORA-12560: TNS: 协议适配器错误,

多是由于服务器上无法安装32位oracle客户端导致自开发程序无法访问数据库导致,可以使用Oracle.ManagedDataAccess来解决此连接问题。

 

1 常用数据库访问类

一般来说,C#连接Oracle数据库,我们通常会通过封装好的dll调用,目前常用的有三个:

(1)System.Data.OracleClient.dll(微软)
(2)Oracle.DataAccess.Client.dll(Oracle,也称ODP.NET)
(3)Oracle.ManagedDataAccess.dll(Oracle)

1.1 System.Data.OracleClient.dll

首先需安装Oracle客户端,然后可直接直接引用微软的System.Data.OracleClient,但VS会提示“System.Data.OracleClient.OracleConnection”已过时。经测试虽然提示过时但仍可正常使用,微软已经很久没有更新过这个访问类了,安全性方面无保障。

1.2 Oracle.DataAccess.Client.dll

Oracle提供的数据库访问类库,简称ODP.NET,其功能和效率上都有所保证,访问效率和速度都要比微软的System.Data.OracleClient优秀。

优点:
(1)无需安装Oracle客户端,程序也能访问服务器上的Oracle
(2)不需要配置tnsnames.ora文件

缺点:
(1)要区分用区分x86/x64版本

1.3 Oracle.ManagedDataAccess.dll

推荐这一种,Oracle官方出品,日常更新维护,无需安装Oracle客户端,不用区分操作系统位数。


 
链接:https://www.jianshu.com/p/efaba51d1cb6

 

posted @ 2021-04-21 13:40  我的理想之路  阅读(337)  评论(0编辑  收藏  举报