2015-11-09 34 views
1

這裏是我打開一個數據庫連接,做一個查詢爲什麼在30分鐘之前這個時機很好?

Set dbo = CreateObject("ADODB.Connection") 
dbo.CommandTimeout = 1800 
dbo.ConnectionTimeout = 1800 
dbo.Open(DSN) 
Set results = CreateObject("ADODB.recordset") 
results.open SQL, DSN 
if results.eof then 
    Wscript.StdOut.WriteLine "No records found." 
else 
    stuff happens here 
end if 

出於某種原因,它一直在30秒後超時而不管其中同時設置的CommandTimeout和ConnectionTimeout連接上的代碼。

Microsoft OLE DB提供程序的ODBC驅動程序:[ODBC緩存] [國家: S1T00] [N ative碼450]

我沒有看到任何timeout財產the ADODB.Recordset object.

+0

它取決於提供者,通過'.Properties'集合進行設置。可能使用CachéDB默認超時值參見[在Windows上使用Caché作爲ODBC數據源](http://docs.intersystems.com/ens201513/csp/docbook/DocBook.UI.Page.cls?KEY=BGOD_winodbc) – Lankymart

+0

似乎有一個設置可以覆蓋'Disable Query Timeout' - 請參見[CachéODBC/JDBC用戶指南 - 通過ODBC連接](http://docs.intersystems.com/cache41/dbc/dbcoconnect.html) – Lankymart

回答

1

我找到了下面的設置。這並不理想,但至少我的長時間運行的查詢運行,即使他們需要幾天。

enter image description here