由于系统错误193,无法加载VBA ODBC Oracle Specified驱动程序:(即时client_11_2中的Oracle,C:\ ... \ SQORA32.dll))

时间:2016-08-10 08:05:59

标签: oracle vba excel-vba odbc excel

我正在尝试在VBA脚本中创建一个到Oracle数据库的ODBC连接,我收到以下错误:

Run-time error '-2147467259  (800004005)':
Specified driver could not be loaded due to system error 193: (Oracle in instantclient_11_2, C:\apps\oracle\11.2.0.3\instant-32\SQORA32.dll)
  • 转到%systemdrive%\Windows\SysWoW64\odbcad32.exe时,我可以看到我的驱动程序“instantclient_11_2”和文件“SQORA32.dll”,并且在使用Python连接到数据库时它可以正常工作。

  • 使用regedit时,Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers我也可以看到驱动程序。

  • 这是我的代码,我尝试了两个不同的连接字符串:

    - strCon = "DRIVER={Oracle in instantclient_11_2};DBQ=MyDBQ;UID=MyID;PWD=MyPWD"

    - strCon = "Driver={Oracle in instantclient_11_2}; " & _ "CONNECTSTRING=(DESCRIPTION=" & _ "(ADDRESS=(PROTOCOL=TCP)" & _ "(HOST=MyServer)(PORT=MyPort))" & _ "(CONNECT_DATA=(SID=MySID))); uid=MyID;pwd=MyPWD;"

  • 我的MS Excel版本是32位,我的驱动程序(SQORA32.dll)也是如此,所以我认为它与322/64版本问题没有任何关系,但我可能错了。< / p>

欢迎任何帮助/建议/解决方案。

1 个答案:

答案 0 :(得分:0)

您使用32位Excel。您还必须安装32位Oracle客户端,我认为是这种情况,因为文件夹名为&#34; C:\ apps \ oracle \ 11.2.0.3 \ instant- 32 \&#34 ;.但是要验证下载客户端的位置,32位和64位版本之间只有很小的可见差异。

例如,对于32位和64位版本,文件名为SQORA32.dll

但是,请检查注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers而不是HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers,以便查看32位ODBC驱动程序。

如果需要,请更新您的注册表。

同时检查文件夹C:\apps\oracle\11.2.0.3\instant-32\是否在您的PATH环境变量中。