Merhaba,
Asp.NET + MSSql -> Yönetim paneli olan bir site geliştirmekteyim.Hosting olarak natro ile çalışıyoruz.Kimi zaman veritabanına bağlanırken kimi zaman ise açık bağlantı ile ilgili hata vermekte.
Aldığım hatalar aşağıdaki gibidir.
Veritabanına bağlanırken aldığım hata:
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use
and max pool size was reached.
Veri çekerken aldığım hata
executereader requires an open and available connection. the connection's current state is closed
Örnek Örnek Kod:
public static string KategoriAdiGetir(string AltKatID)
{
DB DB = new DB();
DB.DB_Baglan();
string KategoriAdi = "";
try
{
string Sql = "select AltKatID,AlKatAdi from tbl_urun_alt_kategori where AltKatID=" + AltKatID+" ";
SqlCommand cmd = new SqlCommand(Sql,DB.conn);
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
if (dr.HasRows)
{
KategoriAdi=dr["AlKatAdi"].ToString().Trim();
}
dr.Close();
}
catch (Exception ex)
{
Messagebox.show("Kategori Adı Getirilirken Hata Oluştu." + ex.Message);
}
DB.DB_Kapat();
return KategoriAdi;
}
---------------------------------------------------------------------
Bu şekilde açılan bağlantıları aslında DB.kapat(); ile kapatıyorum aslında.Aynı şekilde datareader nesnesini de close() metodu ile kapatıyorum.Bunların dışında yapılması gereken herhangi bir şey var mıdır ? Örneğin Dispose gibi.Yada başka bir teknik mi
kullanmalıyım örneğin bağlantı açık kalmış mı gibi ?