예외 오류를 반환 유지합니다. 연결의 현재 상태가 연결 중입니다.ExecuteScalar는 내가 구성 '사용'하지만 난 루프에서 빠른 속도로 이미지를로드 할 때, 나는 다음과 같은 오류를 사용하고
이상한 부분은 루프를 실행할 때마다 루프의 다른 시간에 발생한다는 것입니다.
내 전체 솔루션을 검색하고 (열고 아무 전화도 없다) 또는 어디서나) (닫기하지만 다음에 : 다음
public myMethod()
{
string conString;
conString = "Server=(local);Database=myDB;Uid=appaccess;Pwd=xxxxxx";
con = new SqlConnection(conString);
con.Open();
}
public void Dispose()
{
con.Close();
}
그리고 나중에 내 코드에서 나는의 루프에서이 메소드를 호출 imgID :
public byte[] GetImageBitStream(int imgID)
{
SqlCommand cmd = new SqlCommand("GetImageBitStream", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@imgID", imgID));
Object picData = new Object();
picData = cmd.ExecuteScalar();
if (picData == null)
{
picData = "";
}
return (byte[])picData;
}
다음에 어떤 것을 시도해야할지 모르겠다. 이 코드는 작동하는 데 사용 되다가 최근에 '사용'형식으로 전환했을 때 작동을 멈췄습니다. 그러나 다시 전환하더라도 오류가 발생합니다.
이 귀하의 질문에 대답하지 않지만, 당신이 정말로 열고 SqlCommand를 사용 주위 SQL 연결을 닫으려면. 그러면 연결 풀에서 연결을 가져오고 사용할 때마다 연결을 다시 설정하여 클러스터 된 SQL Server (부분적으로)에 대해 작업 할 수 있으며 dispose를 구현하지 않아도됩니다. 참조 : http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx, 이것이 '사용'모델로 전환했다는 것을 의미하지 않는 한. –