未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序。
问题描述:运行访问oracle数据库的.net程序时,弹出错误"未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序"。
系统环境:windows server 2008 64bit
Oracle客户端:直接解压缩的Oracle客户端instantclient_11_2。
解决方法:安装win32_11gR2_client客户端时候,选择“管理员”安装类型;不要使用直接解压缩的客户端。
未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序。
标签:
小编还为您整理了以下内容,可能对您也有帮助:
【求帮助啊】未在本地计算机注册“OraOLEDB.Oracle.1”提供程序
卸载Oracle 11g Client重新安装。
选择安装Oracle 11g Client 管理员
不要安装Oracle 11g Client 运行时
64位系统上报错未在本地计算机注册“OraOLEDB.Oracle.1”提供程序
64位系统是打游戏的,办公用的软件特卡。32位是办公用的,特顺。
未在本地计算机上注册“OraOLEDB.Oracle.1”
未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案
一、现象:
C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库。但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”提供程序
二、解决方案:
1、在Oracle安装目录找到Oracle的主程序目录,点击鼠标右键->属性->安全,对ASP.NET或者NETWORK SERVICE 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性。
2、服务器ORACLE为10g,虽然安装时选择了Oracle Data Provider for .net 和Oracle Provider for OLE DB。但是还是需要人工命令行注册一下
regsvr32 D:\oracle\10.2.0\db\BIN\OraOLEDB10.dll。
其他观点:
解决方法如下:到ORACLE_HOME目录,如c:\Oracle\Ora92 点击鼠标右键->属性->安全, 对ASP.NET 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性,确定。 重新注册oraoledb.dll: regsvr32 $\oracle\ora92\bin\oraoledb.dll 2 这种情况有3种可能的原因 1.装Oracle 的机器是不是NTFS的?如果是的话,将\Ora81下的BIN的权限,全部放开,给所有用户。 (不然在B/S结构下会因为没有权限访问目录而报这个错误) 2.如果数据库服务器是Oracle816的。在服务器的那台机器上找Ora81\network\ADMIN下的sqlnet.ora文件,把里面的 SQLNET.AUTHENTICATION_SERVICES= (NTS)改成 SQLNET.AUTHENTICATION_SERVICES= (NONE) (这种会造成某些机器上报驱动初始化失败的错误,在用OracleClient下出现过一次)
未在本地计算机上注册“OraOLEDB.Oracle.1”
未在本地计算机上注册“OraOLEDB.Oracle.1”提供程序解决方案
一、现象:
C#程序中需要以Provider=OraOLEDB.Oracle.1方式访问ORACLE数据库。但程序执行时报异常:未在本地计算机注册“OraOLEDB.Oracle.1”提供程序
二、解决方案:
1、在Oracle安装目录找到Oracle的主程序目录,点击鼠标右键->属性->安全,对ASP.NET或者NETWORK SERVICE 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性。
2、服务器ORACLE为10g,虽然安装时选择了Oracle Data Provider for .net 和Oracle Provider for OLE DB。但是还是需要人工命令行注册一下
regsvr32 D:\oracle\10.2.0\db\BIN\OraOLEDB10.dll。
其他观点:
解决方法如下:到ORACLE_HOME目录,如c:\Oracle\Ora92 点击鼠标右键->属性->安全, 对ASP.NET 帐户赋予允许读、执行权限,并在“高级”中保证该目录的子目录、文件都继承这些属性,确定。 重新注册oraoledb.dll: regsvr32 $\oracle\ora92\bin\oraoledb.dll 2 这种情况有3种可能的原因 1.装Oracle 的机器是不是NTFS的?如果是的话,将\Ora81下的BIN的权限,全部放开,给所有用户。 (不然在B/S结构下会因为没有权限访问目录而报这个错误) 2.如果数据库服务器是Oracle816的。在服务器的那台机器上找Ora81\network\ADMIN下的sqlnet.ora文件,把里面的 SQLNET.AUTHENTICATION_SERVICES= (NTS)改成 SQLNET.AUTHENTICATION_SERVICES= (NONE) (这种会造成某些机器上报驱动初始化失败的错误,在用OracleClient下出现过一次)
The 'OraOLEDB.Oracle.1' provider is not registered on the local machine
你的机器没有安装Oracle 的OLEDB驱动,下载安装上就可以了。
The 'OraOLEDB.Oracle.1' provider is not registered on the local machine
你的机器没有安装Oracle 的OLEDB驱动,下载安装上就可以了。
尚未注册 OLE DB 访问接口 "OraOLEDB.Oracle".
解决方法:
按下WIN+R,打开“运行”窗口,输入“regedit”,回车。
在打开的注册表编辑器的左侧按如下路径依次展开:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Providers
在Providers下面一般来说是看不到OraOLEDB.Oracle这一项的,于是新建这一项。
在Providers上面右键选择New -> Key,把新增加的项改名为“OraOLEDB.Oracle”
为“OraOLEDB.Oracle”这个键新增一个DWORD Value,把名字改为“AllowInProcess”
把“AllowInProcess”的值改为“00000001”
改好后的效果如图。修改即刻生效,现在就可以再去访问链接服务器上的Oracle数据库了。