參見微軟的使用鏈接池說明:https://msdn.microsoft.com/zh-cn/library/8xx3tyca(v=vs.80).aspxsql
「警告:數據庫
咱們建議您在使用完鏈接時必定要關閉鏈接,以便鏈接能夠返回池。要關閉鏈接,能夠使用 Connection 對象的 Close 或 Dispose 方法,也能夠經過在 C# 的 using 語句中或在 Visual Basic 的 Using 語句中打開全部鏈接。不是顯式關閉的鏈接可能不會添加或返回到池中。例如,若是鏈接已超出範圍但沒有顯式關閉,則僅當達到最大池大小而該鏈接仍然有效時,該鏈接纔會返回到鏈接池中。有關更多信息,請參見 Visual Basic 的using 語句(C# 參考)或如何:釋放系統資源。」spa
A.方法1(C#):線程
using (SqlConnection connection = new SqlConnection()) {對象
connection.ConnectionString = connectionString;進程
connection.Open();事務
//讀寫操做............................資源
//此處不用顯示關閉鏈接,由於using語法會關閉鏈接get
}SqlConnection connection = new SqlConnection(ConnectionString);cmd
string _sql = "Select * from [Data] where ......;
SqlCommand _cmd = new SqlCommand(_sql, connection);
connection.Open();
SqlDataReader _reader = _cmd.ExecuteReader(CommandBehavior.CloseConnection);//此處讀取完成後關閉讀取時關閉對應鏈接
SqlConnection.ConnectionString 屬性詳細見https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.80).aspx
是否使能池程序在建立線程的當前事務上下文中自動登記鏈接 Enlist,是否從鏈接池取鏈接或建立新鏈接後存入合適的鏈接池Pooling,鏈接池最大最小值Max Pool Size,Min Pool Size