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

2013-03-22 50
摘要:解决C#访问Oracle数据库时提示:未在本地计算机上注册"OraOLEDB.Oracle"提供程序的问题

问题说明:

在某一项目要用到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后,个别情况需要重新启动机器。 

 

TOP