相关疑难解决方法(0)

C#MySqlConnection不会关闭

我有一个应用程序,触发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行上.

c# mysql connection

2
推荐指数
1
解决办法
4688
查看次数

标签 统计

c# ×1

connection ×1

mysql ×1