2013-01-22 3 views
0

Entity Framework 및 ADO.net을 사용하는 MVC2 응용 프로그램이 있습니다. ADO.net SqlCommand 연결에서 얻을,CommandTimeout이 작동하지 않는 이유는 무엇입니까?

'/'응용 프로그램에서 서버 오류가 발생했습니다. 제한 시간이 만료되었습니다. 작업이 완료되기 전에 시간 초과 기간이 경과되었거나 서버가 응답하지 않습니다.

코드는,

using (SqlCommand command = conn.CreateCommand()) 
{ 
    var commandText = "exec 'stored producedure name'"; 
    command.CommandTimeout = 240; 

    SqlDataAdapter da = new SqlDataAdapter(commandText, conn); 
    DataSet ds = new DataSet(); 
    da.Fill(ds, "Table"); 
} 

저장 프로 시저를 완료하는 데 약 3 분 소요됩니다. 그래서 CommandTimeout을 기본 30 초에서 240 초 (4 분)로 변경합니다. 그러나 약 30 초가 지나면 여전히 "시간 초과"오류가 발생합니다. 보이는 CommandTimeout 작동하지 않습니다. 이 코드는 VS 2010에서 실행됩니다. 명령 시간 초과를 변경하는 방법은 무엇입니까?

답변

1

여기서 설정 한 시간 초과는 사용하는 드라이버의 시간 초과입니다. 아마도 SQL 서버 자체에 시간 초과 설정이있을 수 있습니다. SQL 관리 스튜디오를 열고 SQL 서버에 연결 한 다음 속성을 마우스 오른쪽 버튼으로 클릭하여 다른 시간 제한을 설정 한 경우 옵션에서 확인하십시오. 거기에 당신이 선호하는 가치로 설정하십시오.

관련 문제