вы должны закрыть соединения, как только закончите работу. Попробуйте открыть соединения в кратчайшие сроки. Однако лучше использовать его, чтобы вызвать метод Dispose даже в случае исключений.
using (SqlConnection conn= new SqlConnection(conStr))
{
//etc...
}
ИЛИ
1) Откройте соединение
2) Доступ к базе данных
3) Закройте соединение
//conn.Open();
try
{
conn.Open();
//Your Code
}
finally
{
conn.Close();
conn.Dispose();//Do not call this if you want to reuse the connection
}