解决:未在本地计算机注册“OraOLEDB.Oracle.1的报错

        公司需维护一个12年写的老C#程序,刚大学毕业经验不足,而且本业是java,该C#程序使用OraOLEDB.Oracle.1连接数据库,经过百度大量的CSDN和其他论坛,均为解决问题,本人Oracle是64位,这个是用plsql登陆后输入下面sql后查出的,另本人计算机位数为64位。

select * from  $version 

基于报错,我试了以下方法:

        方法一:注册OraOLEDB11.dll

        在其他地方百度的,我照做了:将oracle的安装目录下的bin目录下的OraOLEDB11.dll分别复制到了C:\Windows\System32下和C:\Windows\SysWOW64下,在win10系统左下角搜索cmd后以管理员身份打开(省事!不然会报“dll已加载,DllRegisterServer调用失败”的错误!)

分别进入过对应的目录,运行如下代码

regsvr32 OraOLEDB11.dll

均显示注册成功。但重启电脑后,在vs端重新进行生成后仍报未在本地计算机注册“OraOLEDB.Oracle.1”的错误。后又在cmd进入oracle的安装目录的bin目录,执行regsvr32 oraclient11.dll,再重启又报错!哪怕我输入他们的全路径:

regsvr32 D:\app\Ledo\product\11.2.0\dbhome_1\BIN\OraOLEDB11.dll

所以我又试了方法二!

        方法二:下载ODAC驱动,解压并且设置环境变量

        1.下载 ODAC(根据自己的情况选择对应版本) 

链接:https://pan.baidu.com/s/1nCOvV_bOGY1Lu61govq8sw 
提取码:qtm8

      2.解压后进入目录下面在上面的目录输入cmd命令,或者直接启动cmd进入安装目录后输入下面指令进行安装:

install.bat all D:\app\Ledo\app\product\11.2.0\Client_2 odac

        3.配置环境变量到PATH

D:\app\Ledo\product\11.2.0\Client_2;

D:\app\Ledo\\product\11.2.0\Client_2\bin;

重启电脑让环境变量生效,然后生成策略启动,嘿,我的还是不行!

        方法三:安装Oracle客户端,本人只安装了64位

被这个报错弄的怀疑人生,弄了好几天,真的好几天都在重复上面几个工作,搜了一大堆,都是上面几个方法,后来知道了Oracle有客户端,下载连接如下:

        1.安装Oracle客户端我只有64位的安装包:

链接:https://pan.baidu.com/s/15SBGNRS-Jh4a0VNJw7lRHw 
提取码:zw9r

        2.安装完成后配置环境到PATH

D:\app\Ledo\product\11.2.0\dbhome_2

D:\app\Ledo\product\11.2.0\dbhome_2\bin

启动。结果还是报错,而且引发了另一个错误: oracleclient11.dll没有被指定在windows上运行。

解决链接:https://blog.csdn.net/qq_43618249/article/details/131095545?spm=1001.2014.3001.5502

        方法四:安装轻量级Oracle数据库

百度网盘下载链接如下,选择对应的版本安装:

链接:https://pan.baidu.com/s/10xIvjO9JxmZsWNo0xFfTNw 
提取码:07qu

安装完成直接解压就行,然后配置环境变量到PATH,并且上移到Oracle数据库服务端的上面

 然而还是没用啊,气死我了。

        方法五:更改C#连接驱动

最后把C#的指令驱动改成:MSDAORA.1。启动,没问题了。哈哈,因为在 VS上面运行debug的是×86(32位)平台。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: “未在本地计算机注册oraoledb.oracle.1’提供程序”错误通常是因为没有正确安装或注册Oracle Data Provider for .NET(ODP.NET)所致。解决此问题的方法如下: 1.首先,确保已正确安装Oracle客户端。请在Oracle官方网站上下载并安装最新版本的Oracle客户端软件。 2.检查注册表设置。打开注册表编辑器(运行regedit命令),导航到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE键,确保是否存在ORACLE_HOME键。如果不存在,请创建一个新的字符串值ORACLE_HOME,并将其值设置为Oracle客户端安装的路径。 3.确保“oraoledb.oracle.1”已正确注册。打开命令提示符(以管理员身份运行),导航到Oracle客户端安装目录的bin文件夹,然后执行以下命令进行注册: ``` regsvr32 oraoledb11.dll(适用于Oracle 11g) regsvr32 oraoledb12.dll(适用于Oracle 12c) ``` 4.如果还是无法注册提供程序,则可能需要卸载和重新安装Oracle客户端。在重新安装之前,请确保完全删除现有的Oracle客户端。 5.检查应用程序的配置文件或连接字符串。确保应用程序使用正确的Oracle Data Provider for .NET(ODP.NET)版本,并且连接字符串正确指向正确的Oracle数据库。 希望上述解决办法能帮助您解决该问题。如果问题仍然存在,请考虑咨询Oracle支持团队以获取更详细的技术支持。 ### 回答2: 如果在本地计算机上未注册oraoledb.oracle.1”提供程序,可以按照以下步骤解决该问题: 1. 确保已安装Oracle客户端软件:在本地计算机上安装适用于您操作系统的Oracle客户端软件,例如Oracle Instant Client或Oracle Database软件。 2. 添加Oracle客户端路径到系统环境变量:在环境变量中添加Oracle客户端软件的安装路径。打开系统的“控制面板”,点击“系统和安全”,选择“系统”,然后点击“高级系统设置”。在“高级”选项卡下,点击“环境变量”。在“系统变量”部分,找到“Path”变量,点击“编辑”。在变量值末尾添加Oracle客户端软件的安装路径,点击“确定”保存更改。 3. 注册Oracle提供程序:打开命令提示符,运行以下命令注册oraoledb.oracle.1”提供程序: regsvr32 oraoledb.oracle.1 4. 重启计算机注册完提供程序后,重启计算机以使更改生效。 5. 检查注册表的相关设置:如果仍然无法解决问题,可以通过编辑注册表来检查相关设置。请注意,编辑注册表存在一定的风险,请在操作之前备份注册表或咨询专业人士的帮助。 以上是解决未在本地计算机注册oraoledb.oracle.1”提供程序的一些常见方法。在执行任何操作之前,请确保备份重要数据,并确保您具备适当的技术知识和权限。 ### 回答3: 要解决未在本地计算机注册oraoledb.oracle.1”提供程序的问题,您可以按照以下步骤操作: 1. 首先,确认您的计算机是否安装了Oracle数据库客户端。如果没有安装,请前往Oracle官方网站下载并安装合适版本的客户端。 2. 如果您已经安装了Oracle数据库客户端,但仍无法找到“oraoledb.oracle.1”提供程序注册信息,请确保您的客户端安装是正确的。可以重新运行Oracle数据库客户端安装程序,选择修复或更新选项进行修复。 3. 检查您的计算机的环境变量设置。请确保环境变量PATH中包含了Oracle客户端安装路径。如果没有,请手动将路径添加到环境变量中。 4. 如果您的计算机上已经安装了多个版本的Oracle客户端,可能会导致注册信息冲突。请确定您使用的是正确的客户端版本并确保其注册信息是有效的。 5. 如果以上方法都无法解决问题,尝试重新安装Oracle客户端。卸载现有的客户端,清理所有残留的文件和注册信息,然后重新安装新的客户端版本。 总之,要解决未在本地计算机注册oraoledb.oracle.1”提供程序的问题,您需要确定安装了正确的Oracle数据库客户端,并确保其注册信息正确有效。如果问题仍然存在,可以尝试更新或重新安装客户端来解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值