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


1.對數據庫的連接SqlConnection con = new SqlConnection(constr);使用完成后,應該至少應該close或dispose關閉。否則會導致數據庫例如(SQl2005)中處於sleeping的進程增加並且不能自己銷毀,最終會導致出現"“連接超時,已經到達最大連接數等信息”。

      其解決方法:見微軟的官方說明“如果 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 增加。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM