c#對數據庫訪問完應關閉鏈接

1.對數據庫的鏈接SqlConnection con = new SqlConnection(constr);使用完成後,應該至少應該close或dispose關閉。不然會致使數據庫例如(SQl2005)中處於sleeping的進程增長而且不能本身銷燬,最終會致使出現"「鏈接超時,已經到達最大鏈接數等信息」。sql

      其解決方法:見微軟的官方說明「若是 SqlConnection 超出範圍,則不會將其關閉。所以,除非將代碼放在 using 語句內,不然必須調用 Close 或 Dispose 來顯式關閉鏈接。它們在功能上是等效的。若是將鏈接池值 Pooling 設置爲 true 或 yes,則也會釋放物理鏈接。」
      https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnection.close(v=vs.80).aspx

2.Close以前能夠增長SqlConnection.ClearPool(con),用於清除每次的鏈接,防止已經進行的數據庫鏈接進入sleeping而致使鏈接用戶數User Connections 增長。數據庫

相關文章
相關標籤/搜索