데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

현재 C# windowform 으로 쿼리문을 연속으로 16개 정도 수행하는 프로그램을 만들고 있는데

 

행이 22000개 가량되는 데이터를 csv로 변환하거나 db에 직접 insert 시키는 경우 타임아웃이 발생합니다.

"실행 시간 제한을 초과했습니다. ..." 이렇게 발생하네요.

 

현재까지 사용해본 방법은

 

1> commandtimeout = 0; 

2> sp_configure 'remote query timeout', 0 

3> connectiontimeout = 0;

 

등이 있는데 혹시 다른 방법은 없을지.. 아시는분 있으신가요

ssms에서 직접 쿼리문 실행의 경우 1분 40초 가량 걸려야 결과가 나오고 있습니다.

아니면 이런 경험이 있으셨던 분이 있으신지.. 있으시다면 어떤식으로 해결하셨는지 궁금합니다.

 

현재 문제가 발생하는 구간의 코드 입니다.

using (SqlCommand sqlcmd = new SqlCommand(querystring, dbconnection))
{
    sqlcmd.CommandTimeout = 60000;
    sqlcmd.ExecuteNonQuery();
    SqlDataAdapter adapter9 = new SqlDataAdapter(sqlcmd.CommandText, dbconnection);

    data_table = new DataTable();
    adapter.Fill(data_table);

    StreamWriter sw = new StreamWriter(path\name.csv, false, System.Text.Encoding.UTF8);
sw.Write(header);
WriteToStream(sw, data_table, sqlcmd);
}

 

감사합니다.






XE Login