C#中SQL Server数据库连接池使用及连接字符串部分关键字使用说明
参见微软的使用连接池说明:https://msdn.microsoft.com/zh-cn/library/8xx3tyca(v=vs.80).aspx
“警告:
我们建议您在使用完连接时一定要关闭连接,以便连接可以返回池。要关闭连接,可以使用 Connection 对象的 Close 或 Dispose 方法,也可以通过在 C# 的 using 语句中或在 Visual Basic 的 Using 语句中打开所有连接。不是显式关闭的连接可能不会添加或返回到池中。例如,如果连接已超出范围但没有显式关闭,则仅当达到最大池大小而该连接仍然有效时,该连接才会返回到连接池中。有关更多信息,请参见 Visual Basic 的using 语句(C# 参考)或如何:释放系统资源。”
A.方法1(C#):
using (SqlConnection connection = new SqlConnection()) {
connection.ConnectionString = connectionString;
connection.Open();
//读写操作............................
//此处不用显示关闭连接,因为using语法会关闭连接
}B.方法2(C#):
SqlConnection connection = new SqlConnection();
SqlConnection connection = new SqlConnection(ConnectionString);
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