MySql连接没有关闭.net MySql连接器
本文关键字:MySql net 连接器 连接 | 更新日期: 2023-09-27 18:10:37
MySql连接进入睡眠模式而不是关闭。我正在使用MySql。使用6.5.4版本的数据与mysql通信。我不确定我在下面的代码中做错了什么。
try
{
using (var conn = new MySqlConnection(strConnection))
{
conn.Open();
using (var cmd = new MySqlCommand(strSQLStatement, conn))
{
var adapter = new MySqlDataAdapter(cmd);
adapter.Fill(ds);
}
}
}
catch (Exception ex)
{
ErrorLogger.WriteError(string.Format("Failed query {0} with stack trace {1} ", strSQLStatement, ex), "GetData");
}
您的连接正在被添加到连接池中,此功能在默认情况下是开启的,因此每当连接关闭时,它就会被添加到连接池中。您可以通过连接字符串参数Pooling=false
或静态方法MySqlConnection.ClearPool(connection)
和MySqlConnection.ClearAllPools()
来解决此问题…
选自官方文档
Connector/Net支持连接池,以便在数据库密集型应用程序中获得更好的性能和可伸缩性。这是默认启用的。您可以关闭它或使用连接字符串选项池,连接重置,连接寿命,缓存服务器属性,最大池大小和最小池大小调整其性能特征。连接池的工作原理是,当客户端处理MySqlConnection时,保持与服务器的本地连接处于活动状态。随后,如果打开一个新的MySqlConnection对象,它将从连接池中创建,而不是创建一个新的本机连接。这可以提高性能。