参见微软的使用链接池说明: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