您的当前位置:首页正文

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

2023-11-09 来源:好兔宠物网

 问题描述:运行访问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数据库了。