2011-03-30 92 views
2

使用TADOConnection類連接到SQL Server 2005 db。ADO Connection Timeout問題

Having ConnectionTimeOut:= 5; //秒。

試圖同步打開連接。

當服務器可用並且正在運行時,連接超時工作正常。如果服務器不可用或網絡連接丟失,則嘗試打開連接等待超過5秒(可能是20秒)。

是否需要設置任何屬性或方法來影響此行爲?

回答

1

不,這足以使ConnectionTimeout屬性

我有確切的問題(D2009,MSSQL2005),但TADOConnection.ConnectionTimeout對我的作品罰款此(順便說一句,在deafult值財產是15秒)。請注意,超時分散是相當寬的,所以一旦你在5秒鐘後超時,並在以後例如10秒後,但20秒真的太多了連接嘗試。

也許你有一個的CommandTimeout問題(如果你想與關聯ADO數據集組件來執行查詢)。您需要記住,如果您設置了TADOConnection.ConnectionTimeout:= 5並且在您的數據集組件中,例如TADOQuery.CommandTimeout:= 15,並且您試圖執行查詢,那麼您將在20秒後超時。

如果你真的有查詢執行,不僅連接嘗試的一個問題,這篇文章可以幫助你 ADO components CommandTimeout

-2

TADOConnection.ConnectionTimeout - 超時以毫秒爲單位,以連接到數據源 TADOConnection.CommandTimeout - 以毫秒爲單位超時執行命令

如果你試圖連接獲得超時錯誤,增加ConnectionTimeout屬性的值,否則,如果您在執行某些查詢,得到一個錯誤 - CommandTimeout屬性的增加值。

+2

-1,首先,超時是在秒。接下來的事情是的CommandTimeout從數據集組件和最後一件事採取的 - 如果你執行一個查詢,你會ConnectionTimeout +的CommandTimeout後得到一個超時 – 2011-03-30 17:00:49