解決Oledb連線超時需要等待15秒的辦法

2021-10-04 11:05:21 字數 756 閱讀 8909

解決oledb連線超時需要等待15秒的辦法

oledb在資料庫未開情況下,需要等待15秒才會超時或報錯,改什麼超時時間都不起作用。

什麼try catch之類的都是浮雲.

即然資料庫在正常情況下都是秒執行,那就從這個地方入手,能夠正常返回來資料就表示正常,返不回來就有問題。

解決辦法:利用非同步超時原理,在指定時間內不返回直接判為超時,超時就證明連線有問題 。

1.首先建立超時類

#region 帶超時非同步執行

///

/// 帶超時非同步執行sql

///

public class sqlinvoke

;threadpool.queueuserworkitem(new waitcallback(workmethod), checkpar);

if (autoevent.waitone(ms))

else

}private static void workmethod(object obj)

}internal class checkpar

public autoresetevent autoresetevent

}#endregion

2.呼叫 (資料庫正常情況下正常執行,不正常時則會返回超時)

dataset ds = null;

//委託執行,返回false表示正常,返回true則超時

bool flag= sqlinvoke.invoke(delegate

);

為什麼四次握手之後需要等待2MSL

tcp釋放過程如下圖 為什麼a在time wait狀態必須等待2msl的時間呢?1 為了保證a傳送的最後乙個ack報文段能夠到達b。這個ack報文段有可能丟失,因而使處在last ack狀態的b收不到對已傳送的fin ack報文段的確認。b會超時重傳這個fin ack報文段,而a就能在2msl時間內...

SSH 連線超時解決辦法

高版本的 linux 自帶的openssh 在使用的時候,幾分鐘不操作的話就會自動斷開連線,這是出於安全的考慮,但是對於需要長時間使用的使用者來說很麻煩,每次都要重新連線。原因有多種 環境變數 tmout 引起,clientalivecountmax 和clientaliveinterval 設定問...

mysql 連線超時解決方法

jdbc開發時候遇到mysql連線超時,斷開服務的問題。經過查資料,找到問題解決方法,總結如下。問題原因 由於mysql服務在長時間不連線之後斷開了,斷開之後的首次請求會丟擲這個異常。既然是連線超時的問題,就要去mysql中 一下連線時間是怎麼 控制的。開啟mysql的控制台,執行 show var...