У меня есть ошибка «Слишком много клиентов уже» в C# и PostgreSQL Я сделал что-то не так?Слишком много клиентов уже в C# и PostgreSQL
это мой основной код
public class NationalService
{
private NpgsqlConnection conn;
protected string query;
public NationalService()
{
this.conn = ConnectionService.GetConnection();
}
public string GetNamaWilayah(string kodePropinsi, string kodeKabupaten)
{
this.query = "select namakabupaten from dim_gab_wilayah where kodepropinsi='" + kodePropinsi + "' and kodekabupaten='" + kodeKabupaten + "' group by namakabupaten";
string namaKabupaten;
using (NpgsqlCommand command = new NpgsqlCommand(this.query, this.conn))
{
using (NpgsqlDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
namaKabupaten = dr["namakabupaten"].ToString();
return namaKabupaten;
}
}
}
return string.Empty;
}
}
и это, как я получаю соединение
public class ConnectionService
{
public static NpgsqlConnection GetConnection()
{
string connStr = WebConfigurationManager.ConnectionStrings["local"].ConnectionString;
NpgsqlConnection conn = new NpgsqlConnection(connStr);
conn.Open();
return conn;
}
}
Я `t didn написать что-то вроде conn.Close(); но я был написан conn.Open в использовании.
Для временного я изменил max_connections = от 100 до 1000 в postgresql.conf
вы можете дать мне намек?
Thanks in Advance
Возможно оптимизация: используйте [ExecuteScalar] (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx) вместо ExecuteReader + цикл while, который возвращает первое значение. –