Ответ 1
Ошибка означает, что пул соединений не подключен. Обычная причина - забыть закрыть соединение после его использования, например:
var con = new MySqlConnection("Server=YourDB;Database=YourDb;...");
con.Open();
var com = con.CreateCommand();
com.CommandText = "select * from YourTable";
Этот код забывает закрыть соединение, поэтому в пуле меньше одного соединения. Вы можете исправить это, добавив:
con.Close();
в конце. Но если запрос генерирует исключение, Close
будет пропущен, и вы все равно снизьте 1 соединение.
Гораздо лучший способ - это оператор using
:
using (var con = new MySqlConnection("Server=YourDB;Database=YourDb;..."))
{
con.Open();
var com = con.CreateCommand();
com.CommandText = "select * from YourTable";
}
Вы можете легко устранить эту проблему, добавив max pool size
в конце вашего соединения, например:
Server=YourDB;Database=YourDbUid=YourUser;Pwd=YourPwd;max pool size=1;
Это дает вам размер пула 1, мгновенно вызывая ошибку, если вы забудете освободить одно соединение.