2009-04-23 53 views
1

在我的win應用程序中 - 如果數據庫服務器無法訪問,我想顯示信息(或數據庫圖標)。但我不想等待30秒超時。用戶可以在我的選項對話框中配置服務器,用戶,密碼。 那麼,如果數據庫連接有效,亞音速檢測速度是否會非常快?如何快速檢查數據庫連接?

回答

0

你可以找到協議的一些信息,並簡單地使用TCP套接字來模擬。所以這就像是通過網絡服務器發送HTTP命令。但是,你會做適合你的數據庫的命令。這樣做,你可以避免任何超時內置於驅動程序或任何。或者,您可以簡單地使用TCP連接到IP:端口並查看是否有人在監聽。至於亞音速,沒有。

+0

到現在爲止,我只是開了「TOP 1」選擇亞音速我的表之一,擦肩而過的SQLException。所以我得到的信息..但與db連接超時延遲... – isepise 2009-04-23 09:03:51

0

你可以設置連接超時低 - see here for an exmaple,或者可能在後臺線程上,並讓用戶知道它正在嘗試。

2

您可以創建一個簡單的ping存儲過程,然後執行與在SQL命令低超時,一樣的東西:

SubSonic.StoredProcedure sp = SPs.PingStoredProcedure(); 
sp.CommandTimeout = 2; 
sp.Execute();