在Excel中使用ADO連線至SQL Server,是常用且簡單的報表製作方式。
最近有遇到一個前輩做的Excel檔案,是可供使用者輸入日期區間後,查詢期間的交易統計表。
越來越多使用者跟我反應常常會出現『逾時終止』的錯誤訊息,我測試計算了一下出現錯誤訊息的時間都為30秒。
上網查了一下資料,原來CommandTimeout(SQL語法執行的時間)預設值為30秒,解決方法就是給他設長一點啦。
Dim cn As New ADODB.Connection
Dim recset As ADODB.Recordset
Dim connectstr As Stringconnectstr = "Driver={SQL Server};Server=local;Network=DBMSSOCN;Database=northwind;Uid=sa;Pwd=sa;"
cn.Open connectstrOn Error GoTo err_rtn
cn.CommandTimeout = 600 '秒
Set recset = New ADODB.Recordset
recset.Open sour, cn