Rob*_*b R 2 c# mysql connection
我有一个应用程序,触发mysql命令(查询)"显示数据库",查询工作并正确返回但我无法关闭我的连接.我使用的用户同时允许24个连接,所以问题突然出现在我的程序中,但是将允许的连接减少到2表明我甚至无法关闭第一个查询(不在循环中).代码如下:
protected override Dictionary<string, Jerow_class_generator.Database> loadDatabases()
{
MySqlConnection sqlCon = new MySqlConnection(this.ConnectionString);
sqlCon.Open();
MySqlCommand sqlCom = new MySqlCommand();
sqlCom.Connection = sqlCon;
sqlCom.CommandType = CommandType.Text;
sqlCom.CommandText = "show databases;";
MySqlDataReader sqlDR;
sqlDR = sqlCom.ExecuteReader();
Dictionary<string, Jerow_class_generator.Database> databases = new Dictionary<string, Jerow_class_generator.Database>();
string[] systemDatabases = new string[] { "information_schema", "mysql" };
while (sqlDR.Read())
{
string dbName = sqlDR.GetString(0);
if (!systemDatabases.Contains(dbName))
{
databases.Add(sqlDR.GetString(0), new MySQL.Database(dbName, this));
}
}
sqlCom.Dispose();
sqlDR.Close();
sqlCon.Close();
sqlCon.Dispose();
return databases;
}
Run Code Online (Sandbox Code Playgroud)
PS'新MySQL.Database(dbName,this));' 是我自己制作的类,只存储数据库结构,可以认为是无关紧要的.
我得到的确切错误是'max_user_connections'.在下一次需要触发查询的connection.open行上.