Sql Server請求超時問題解決


 超時時間已到。超時時間已到,但是尚未從池中獲取連接。
       出現(xiàn)這種情況可能是因為所有池連接均在使用,并且達到了最大池大小。
  可能原因如下:并發(fā)操作,Connection用后沒有關(guān)閉,或者因為DataReader連接獨占連接。
  解決方法:
  1, 修改幾個關(guān)鍵頁面或訪問比較頻繁的數(shù)據(jù)庫訪問操作,使用DataAdapter和DataSet來獲取數(shù)據(jù)           庫數(shù)據(jù),不要使用DataReader。
  2, 在訪問數(shù)據(jù)庫的頁面上使用數(shù)據(jù)緩存,如果頁面的數(shù)據(jù)不是經(jīng)常更新(幾分鐘更新一次)的              話, 使用Cache對象可以不用訪問數(shù)據(jù)庫而使用緩存中的內(nèi)容,那么可以大大減少連接數(shù)量。
  3 ,修改代碼,把使用Connection對象的地方都在Close()后面加上Dispose()調(diào)用。
  4 ,建議對數(shù)據(jù)庫操作進行大的修改,建立自己的數(shù)據(jù)庫操作代理類,繼承System.IDisposable接             口, 強迫釋放資源,這樣就不會出現(xiàn)連接數(shù)量不夠的問題了


原文鏈接:sql超時時間已到。超時時間已到,但是尚未從池中獲取連接