天天看點

用Socket快速判斷資料庫連接配接

    大家在做項目的時候,一般都是和資料庫有關的。而相信許多人在用代碼打開資料庫的時候,沒有判斷資料庫連接配接是否成功。如果寫對了還好,但是出錯了,會等老長時間(預設15s,不過 實際響應 可能會更長)。而且還會出現卡死的情況,給使用者的感覺就會變得非常差勁。是以快速判斷資料庫連接配接是否成功,就顯得尤為重要了。

    一般情況下,如果連接配接字元串正确,那麼連接配接到資料庫用的時間一般在5s以内。是以我們可以在連接配接字元串的最後添加一個等待時間:timeout。如:

   如果連接配接不成功,應該在5-8s内做出回應。但是并不能确定一定是連接配接字元串出錯。如果大量人通路的話,很可能會出現等待時間超過5s的情況。而且,如果連接配接不成功,我們依舊最起碼得等待5秒。等待的滋味是不好受的,使用者一定會給你一個叉叉,是以我們還需要用其他辦法來快速判斷。

    這裡我們用Socket來實作這一功能。(至于Socket是什麼,有興趣的朋友可以自己查查資料)

    先用Socket來判斷與伺服器是否連接配接成功,然後在進行資料庫操作。

下面是資料庫的操作,可以根據自己的情況修改。

我這裡用winForm來測試的。

用Socket快速判斷資料庫連接配接

    用Socket來測試是否連接配接到伺服器非常友善,也非常快捷,不用讓使用者等待那麼長時間,而且這樣做還可以知道是伺服器位址出錯,還是資料庫出錯。經測試,如果資料庫位址出錯,在1-3s内即可回報出結果。提示使用者“Socket Link Failed”。而資料庫名錯誤,則隻提示“Sql Link Failed”。

    這麼友善、快捷、高效、易排錯的方法,你會不會錯過,我不知道,反正我是不會錯過了!