OraOLEDB.Oracle提供程序未在本地机器上注册。

41

我刚从XP迁移到Win 7。我猜测这个错误与操作系统切换有关。我编写了一个.NET应用程序,基本上对大量数据进行处理,然后连接到数据库并插入/更新表格。

当我点击一个按钮连接到数据库时,遇到了关于Oracle提供程序未在我的本地计算机上注册的错误。

如何快速修复此问题的清晰、逐步概述将不胜感激。

确切的错误消息是:

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


你解决了这个问题吗? - Handsome
14个回答

1

别忘了以管理员身份运行cmd,否则你会收到误导性的错误信息:

模块“OraOLEDB12.dll”可能与您正在运行的Windows版本不兼容。请检查该模块是否与x86(32位)或x64(64位)版本的regsvr32.exe兼容。


1

我的团队在安装我们的平台时,经常会在随机的机器上遇到这个问题(我们使用Oracle驱动程序12c ver 12.2.0.4,但我们也遇到了其他版本的此bug)。

经过一些实验,我们意识到问题出在哪里:

这些机器上的应用程序会默默地锁定机器范围内的Oracle驱动程序,从而防止Oracle驱动程序安装程序在尝试升级/重新安装Oracle驱动程序时发挥其魔力。最狡猾的“应用程序”是在IIS等中运行的网站,因为这些应用程序本质上是在重启后自动启动的。为了解决这个问题,我们采取以下措施:

  1. 禁止IIS在重启时自动启动。对于任何其他自动启动的应用程序/服务也要做同样的操作。
  2. 卸载任何先前的Oracle驱动程序,并仔细检查注册表或文件夹中是否有任何残留。
  3. 重新启动机器
  4. (重新)安装Oracle驱动程序并重新启用IIS和其他自动启动应用程序。
  5. 重新启动机器 <- 这是至关重要的。Oracle的OLE DB驱动程序不会工作,除非您重新启动机器。
如果这不起作用,那就重复冲洗直到 OLE DB 驱动程序可用。希望这能帮助那些正在苦苦寻找解决方法的人。

0
在 Der Wolfs 的提示基础上,我卸载了 Oracle 客户端并重新安装,右键单击设置程序,并以管理员身份运行。它奏效了。

0
如果您无法更改编译使用x64,请尝试卸载odac的x64版本并安装32位版本。然后,不要忘记将安装目录(例如C:\ oracle)以及子目录C:\ oracle \ bin添加到PATH环境变量中。这对我在.NET 4应用程序中起作用了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接