"시간 초과가 만료되었습니다. 풀에서 연결을 얻기 전에 제한 시간이 경과했습니다. 풀링 된 모든 연결이 사용 중이기 때문에이 문제가 발생할 수 있습니다. 최대 풀 크기에 도달했습니다. " 오류는 있지만 문제가있는 곳을 찾을 수 없습니다. 좀 도와주세요. :)제한 시간 만료 Exception; 어떤 연결이 열려 있는지 또는 다른 것이 틀린 경우 찾을 수 없음
public static void Update(string p, int c)
{
using (SqlConnection conn = new SqlConnection("ConnectionString"))
{
SqlCommand cmd = new SqlCommand();
SqlDataReader myRdr;
cmd.Connection = conn;
cmd.CommandText = "SOME SQL QUERY @parameter";
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@parameter", SqlDbType.NVarChar, 10).Value = p;
conn.Open();
myRdr = cmd.ExecuteReader();
if (myRdr.HasRows)
{
while (myRdr.Read())
{
//do something using myRdr data
}
myRdr.Close();
cmd.Dispose();
foreach (DataRow r in dt.Rows)
{
SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = conn;
cmd1.CommandText = "SOME SQL QUERY @parameter";
cmd1.CommandType = CommandType.Text;
cmd1.Parameters.Add("@parameter", SqlDbType.NVarChar, 10).Value = r["SomeData"];
myRdr = cmd1.ExecuteReader();
myRdr.Read();
//do something with myRdr data
myRdr.Close();
cmd1.Dispose();
int a = Convert.ToInt32(r["SomeData"]) - Convert.ToInt32(r["SomeData1"]);
if (a >= 0)
{
//do something
}
else
{
//do something else and runn the Update() again with some other parameters
Update(x, y); //I think here is some problem...
//because when this condition is not met and program
//does not need to run Update() again, it goes OK and I get no error
}
}
}
else
{
myRdr.Close();
cmd.Dispose();
}
}
}
특정 조건이 충족 될 때 Update()를 호출해야합니다. 어디에서 전화를해야합니까? 나는 그것을하는 다른 쉬운 방법을 모른다. 하지만 나는 초보자입니다. :) 도움? ;) – user1080533
몇 가지 코드로 내 대답을 업데이트했습니다. –
덕분에, 내 자신의 구문을 이해하려고 노력하면서 시간을 절약 해주었습니다 :) – user1080533