Sql Server請(qǐng)求超時(shí)問題解決


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


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