通过VBA连接到Oracle不再有效

时间:2016-02-26 05:21:56

标签: oracle excel-vba connection-string instantclient vba

我一直在使用这个连接字符串:

 fn_Connection_String = "Provider=MSDAORA;Data Source=[address]:1521/orcl;User ID=xxx;Password=xxx"

......它一直很好。为我的客户工作的IT公司报告说,客户端不再使用我的软件,它没有连接到数据库。我使用Oracle工具进行测试,一切似乎都很好,所以我认为问题出在提供者身上。

我也尝试了这个,并且遇到了同样的错误,但来自不同的软件:

fn_Connection_String = "Driver={Microsoft ODBC for Oracle}; " & _
    "CONNECTSTRING=(DESCRIPTION=" & _
    "(ADDRESS=(PROTOCOL=TCP)" & _
    "(HOST=[address])(PORT=1521))" & _
    "(CONNECT_DATA=(SERVICE_NAME=orcl))); uid=xxx;pwd=xxx;"

有没有人知道发生了什么?也许有些更新破坏了某些东西,或者人们一直在环境中捣乱?

似乎旧的ODBC连接不再有效,并且有一个“即时客户端中的oracle”连接器可以工作,但在VBA中不起作用。

我收到的邮件是Oracle client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3.3 or later client software installation. Provider is unable to function until these component are installed

修改 发布后我发现IT公司安装了2个驱动程序,11个版本的东西,还有instantclient,这是版本12的东西。我尝试使用"Driver={Oracle in instantclient_12_1}; "(因为这是32位ODBC连接管理器中的驱动程序名称),但这不起作用。

1 个答案:

答案 0 :(得分:0)

微软在2月9日发布了一个补丁,导致了这个问题。

现在已将其列为已知问题。

https://support.microsoft.com/en-us/kb/3126587