问题说明:
在某一项目要用到C#连接Oracle数据库,采用的是OLEDB连接方式,连接字符串如下:
string strcon = "Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = yldb))) ;User Id=yl;Password=yl";
进行连接的时候,会报如下错误:
未在本地计算机上注册"oraoledb.oracle"提供程序
解决方法:
安装 Oracle 数据访问组件 (ODAC--Oracle Data Access Components)
子项:Oracle Provider for OLEDB (也可选择全装)
注意事项:
区分系统平台是32位还是64位,根据平台不一样,安装的ODAC版本位数也有区别;
32位测试环境:Win7 32位、Oracle 9i Client
32位ODAC下载地址:http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html
64位测试环境:Win7 64位、ODAC112030_x64提供的客户端
64位OACD下载地址:http://www.oracle.com/cn/solutions/midsize/index-090165.html
.Net编译时平台的选择:
要注意Any Cpu:在64位系统上运行时,采用的是64位CLR;所以64位系统上,最好可以把ODAC的32位和64位都装下。
注意:
成功安装ODAC后,个别情况需要重新启动机器。