Я довольно часто получаю следующую ошибку:
Npg sql .NpgsqlException: 'Пул соединений исчерпан, либо увеличьте MaxPoolSize (в настоящее время 100) или Timeout (в настоящее время 15 секунд)'
Затем я искал возможные причины и решения здесь и обнаружил, что должен применять заявление using
. Поэтому я просмотрел весь свой код и сделал это.
Однако я продолжаю получать эту ошибку, когда тестирую кнопку, которая получает информацию из моей базы данных, выполняет некоторые вычисления и записывает результаты в нескольких текстовых полях. Обычно он вылетает в пятый раз, когда я щелкаю по нему. Вот фрагмент кода:
private void CalcTemp(Cable cable)
{
string sqlString = "Server=172.19.2.40; Port=5432; User Id=postgres; Password=password; Database=PROLIG;";
using (NpgsqlConnection sqlCon = new NpgsqlConnection(sqlString))
{
string cmdString = @"SELECT tempamb, elevmaxonan, elevmaxonaf, elevmaxonaf2, topoil1_2, topoil1_4, especial1factor, especial1topoil,
especial2factor, especial2topoil, especial3factor, especial3topoil, especial4factor, especial4topoil,
especial5factor, especial5topoil, especial6factor, especial6topoil FROM correntes WHERE prolig_ofs_id = @id;";
NpgsqlCommand sqlCmd = new NpgsqlCommand(cmdString, sqlCon);
sqlCmd.Parameters.AddWithValue("id", StartOF.MyOF.id);
NpgsqlDataAdapter sqlDa = new NpgsqlDataAdapter(sqlCmd);
DataTable dt = new DataTable();
sqlDa.Fill(dt);
//does calculation
}
Есть мысли о том, почему это происходит и как это исправить?
Большое спасибо.