У меня есть приложение, которое запускает команду (запрос) 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;
}
PS «Новая база данных MySQL. (DbName, this));»это мой сделанный класс, который хранит только структуру БД, может считаться неуместным.
Точная ошибка, которую я получаю, это 'max_user_connections'.в строке connection.open следующего раза, когда запрос должен быть запущен.