【问题标题】:Connection from Excel VBA to Oracle DB using ADODB no longer works使用 ADODB 从 Excel VBA 到 Oracle DB 的连接不再有效
【发布时间】:2020-11-27 02:08:54
【问题描述】:

我已经安装了 Oracle 32 位 OLE DB 提供程序(32 位 Oracle 数据访问组件 (ODAC))。
我的机器上只有一个 Oracle 客户端(Windows 10 64 位)。
我的环境变量没问题。

非常奇怪的是,这个设置到现在都可以正常工作(大约 5 年),突然间我得到了错误:

Provider cannot be found. It may not be properly installed

在我的连接字符串中:

Provider=Oracle Provider for OLE DB (equivalent to Provider=OraOLEDB.Oracle)

然后当我将提供程序更改为 Microsoft OLE DB Provider for Oracle(相当于 MSDAORA)时,我得到了错误

Error while trying to retrieve text for error ORA-01019

我尝试了许多不同的连接字符串,重新安装客户端,重新启动,更改环境变量等。没有任何效果。
我现在认为这可能是由于某些 Windows 更新造成的。
这真的让我很生气,因为它让我在 Excel 上使用 ADODB 对象完成的所有开发都过时了……有人有解决方案吗?

【问题讨论】:

    标签: excel oracle adodb


    【解决方案1】:

    发现没有正确安装 ODAC 组件。

    • 我首先使用命令 all 的 uninstall.bat 文件卸载了格式 ODAC 产品(请参阅 ODAC 帮助)
    • 我为 sys 用户和普通用户删除了所有链接到 Oracle(包括 PATH)的 env 变量。
    • 然后我使用最新版本的 ODAC(顺便说一句相当老了)重新安装并严格遵循帮助文件中描述的过程。两个连接字符串在重启后都能正常工作。

    其中一个关键是将 bin 路径添加到 PATH 环境变量。 因此,例如,如果您的 ODAC 组件安装在 c:\oracle 中,则必须在 PATH 变量中添加 c:\oracle 和 c:\oracle\bin 目录才能正常工作。

    神秘的是,它已经在 PATH 中没有这个 bin 目录的情况下工作了多年,并且它突然停止工作(但有时它随机工作!)。如前所述,我认为这可能是由于某些更新包改变了 Windows 考虑环境变量的方式。

    干杯,

    保罗

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 2014-06-15
      相关资源
      最近更新 更多