查询超时过期 Excel VBA ADODB 记录集

问题描述

当我运行此代码时,查询超时已过期。我曾尝试对来自 Query timeout expired when trying to run a short procedure 的 Conn 和 Command 设置超时限制,但没有成功。您可以在超时条款的代码中看到我在 CAPS 中的注释。在 SSMS 中,它在大约 45 秒内执行。我的工作簿有多个使用相同连接的查询。这是最重的查询(返回大约 7k 行),所以我很确定问题是查询超时,而不是连接。

Sub Units()
Application.ScreenUpdating = False


Dim rs4 As Object
Set rs4 = CreateObject("ADODB.Recordset") '04Unit2


Dim sqlstr04 As String
sqlstr04 = "select * from dbo.[04Units]"






 Sheet17.Cells.Clear
                    Call connectDatabase
                                    
                    rs4.Open sqlstr04,DBCONT
                    DBCONT.commandtimeout = 120   'CONNECTION TIMEOUT
                   rs4.commandtimeout = 120        'RECORDSET QUERY TIMEOUT
                    'Debug.Print sqlstrledger03
                    For intColIndex = 0 To rs4.Fields.Count - 1
                    Sheet17.Range("A1").Offset(0,intColIndex).Value = rs4.Fields(intColIndex).Name
 Next
                   
                    Sheet17.Range("A2").copyFromrecordset rs4
                    




End Sub

错误

enter image description here

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...