首页 > 解决方案 > 设置 ADODB 查询超时

问题描述

我正在尝试强制获取超时过期错误消息。

我已将 设置Connection.CommandTimeOut为 1,但 20 秒的查询可以顺利执行。

Public Function getdata(query As String) As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim connstring As String
Set cnn = New ADODB.Connection

connstring = "Provider=SQLOLEDB;Data Source=omitted;uid=omitted;pwd=omitted;database=omitted;Connect Timeout=180"
cnn.Open connstring
cnn.CommandTimeout = 1
Set getdata = New ADODB.Recordset
    getdata.CursorLocation = adUseClient
    Debug.Print cnn.CommandTimeout 'prints 1, as expected

getdata.Open query, connstring, adOpenStatic, adLockBatchOptimistic

cnn.Close
End Function

如何正确设置应尝试执行查询的最大允许时间?

标签: sqlsql-serverexcelvbatimeout

解决方案


推荐阅读