MICROSOFT ODBC-Windows 10_64位,Excel_64位,ODBC_64位

问题描述

我被要求检查“旧” excel文件中的问题,该文件已移至新服务器,并且“不再可用”。 在被授予访问新服务器的权限之前,我已经在笔记本电脑(Win10 / office 64 / oracle客户端64 / ODBC 64)上进行了测试。

VBA连接字符串为:

strConOracle = "Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) 
strConOracle = strConOracle & "(HOST=" & HOST & ")(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=" & DATABASE
strConOracle = strConOracle & "))); uid=" & USER & " ;pwd=" & PASSWORD & ";"
Set oConOracle = CreateObject("ADODB.Connection")
Set oRsOracle = CreateObject("ADODB.RecordSet")

经过几次测试,我认为我已经理解字符串“ {Microsoft ODBC for Oracle} ”是指ODBC 32位试验。在我的64位ODBC中,名称为“ OraClient19Home1中的Oracle ”。 如果我只更改{Microsoft ODBC for Oracle} by {Oracle in OraClient19Home1},那么它就不起作用了(太快了:))

所以我只是想知道是否知道在64位上仍可以进行ADODB连接? 如果有什么棘手的事情,我们必须在VBA代码中添加。

是的,我知道excel中有一个名为“ getdata”的功能,该功能使用外部ODBC DSN连接,但是它太具有侵入性。它需要重做VBA代码的所有机制,而且时间太长。 因此,我首先要检查VBA ADO连接。

仅供参考,当我终于进入发行服务器(WindowsServer®2008 Standard / Office 32bits / Oracle 32bits / ODBC 32bits)时。我只需要在FORM模式下添加一些受信任的位置和按钮,即可使其重新工作。我猜这是因为在 ODBC 32位中,有一个名为“ Microsoft ODBC for Oracle ”的试点,或者因为该名称中有一个注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\Microsoft ODBC for Oracle]

但是我感到,有一天我们将无法以32位工作。 这可能是升级到64位的好警告。

致谢 G

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...