使用ADODB从Excel VBA到Oracle DB的连接不再有效



我已经安装了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

我尝试过许多不同的连接字符串,重新安装客户端,重新启动,更改env变量等,都没有成功
我现在认为这可能是由于一些Windows更新
这真的很折磨我,因为它让我在Excel上使用ADODB对象进行的所有开发都过时了。。。有人有解决方案吗?

发现ODAC组件安装不正确。

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

关键之一是将bin路径添加到path env变量中。因此,例如,如果ODAC组件安装在c:\oracle中,则必须在PATH变量中添加c:\oracle和c:\oracle\bin目录,以使其正常工作。

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

干杯,

Paul

相关内容

  • 没有找到相关文章

最新更新