刷新ODBC连接后,VBA无法刷新OLEDB连接

问题描述

在我的工作簿中,有两个数据连接使用不同的查询访问同一DB2数据库。

connection1 是ODBC连接。 ThisWorkbook.Connections("connection1").ODBCConnection.Connection是: "ODBC;DSN=MYDSN;",DSN正在连接到GS_DB

connection2 是OLEDB连接。 ThisWorkbook.Connections("connection2").OLEDBConnection.Connection是:"OLEDB;Provider=IBMDADB2.DB2COPY1;Persist Security Info=True;Mode=ReadWrite;Extended Properties="Database=GS_DB;HOSTNAME=MYHOST;PROTOCOL=TCPIP;PORT=50000;uid=db2inst1;pwd=abc123""

现在,我要刷新两个连接,顺序为:connection1-> connection2

在我的子场中,

Sub test()

Dim b As WorkbookConnection
Set b = ThisWorkbook.Connections("connection1")
b.ODBCConnection.Refresh

Dim c As WorkbookConnection
Set c = ThisWorkbook.Connections("connection2")
c.OLEDBConnection.Refresh

End Sub

运行子程序时,可以刷新connection1,但不能刷新connection2。它给了我错误:

Run-time error '-2147417848 (80010108'

Method 'Refresh of object  'OLEDBConnection' failed

但是,我重新打开excel,然后更改刷新顺序:

Sub test()

Dim c As WorkbookConnection
Set c = ThisWorkbook.Connections("connection2")
c.OLEDBConnection.Refresh

Dim b As WorkbookConnection
Set b = ThisWorkbook.Connections("connection1")
b.ODBCConnection.Refresh

End Sub

没有错误。然后,我将顺序改回connection1-> connection2,再次出现相同的错误。

似乎每当刷新ODBCConnection时都无法刷新OLEDBConnection吗?

解决方法

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

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

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...