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