2015-11-09 35 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