C# SQL 프로시저 호출중 -
라는 오류가 발생하네요. 해결 방법은 아래코드 처럼 CommandTimeout 값을 0 으로 설정하거나 타임아웃이 발생하지 않도록 대기 시간을 넉넉하게 주면 됩니다. using (var conn = this.CreateConnection()) { if (conn.HasConnection) { var sqlQuery = "usp_Nanumtip_Set"; using (var cmd = conn.CreateTextCommand(sqlQuery)) { cmd.CommandTimeout = 0; // timeout cmd.CommandType = CommandType.StoredProcedure; var parms = cmd.Parameters; var retVarParam = conn.CreateParameter("RETURN_VALUE", null, DbType.Int32, 0); retVarParam.Direction = ParameterDirection.ReturnValue; parms.Add(retVarParam); parms.Add(conn.CreateParameter(FormatParamName("site"), "https://www.nanumtip.com/")); cmd.ExecuteNonQuery(); try { if (retVarParam.Value.ToString() == "0") res = true; } catch (Exception) { } } } } 주요 콘텐츠로 건너뛰기 이 브라우저는 더 이상 지원되지 않습니다. 최신 기능, 보안 업데이트, 기술 지원을 이용하려면 Microsoft Edge로 업그레이드하세요. 쿼리 시간 제한 오류 문제 해결
이 문서의 내용증상애플리케이션이 SQL Server 데이터베이스의 데이터를 쿼리한다고 가정합니다. 쿼리가 구성된 제한 시간 값(일반적으로 30초) 내에 데이터를 반환하지 않으면 애플리케이션은 쿼리를 취소하고 다음 오류 메시지 중 하나를 생성합니다.
설명이러한 오류는 애플리케이션 쪽에서 발생합니다. 애플리케이션은 시간 제한 값을 설정하고 시간 제한에 도달하면 쿼리를 취소합니다. SQL Server 쪽에서 클라이언트 쪽에서 쿼리를 취소하면 주의 이벤트인 오류 3617(MSSQLSERVER_3617)이 발생합니다. 애플리케이션 쪽의 시간 제한 값이 0(시간 제한 없음)으로 설정된 경우 데이터베이스 엔진은 완료될 때까지 쿼리를 실행합니다.
쿼리 시간 제한은 연결 시간 제한 속성과 다릅니다. 후자는 성공적인 연결을 기다리는 시간을 제어하며 쿼리 실행에는 관여하지 않습니다. 자세한 내용은 쿼리 시간 제한은 연결 시간 제한과 동일하지 않음을 참조하세요. 문제 해결 단계지금까지 쿼리 시간 제한의 가장 일반적인 이유는 성능이 저하되는 쿼리입니다. 즉, 쿼리가 미리 정의된 쿼리 시간 초과 값보다 더 오래 실행됩니다. 쿼리를 더 빠르게 실행하는 것이 문제 해결의 첫 번째 권장 대상입니다. 쿼리 확인 방법은 다음과 같습니다.
쿼리 시간 제한은 연결 시간 제한과 동일하지 않습니다.쿼리 시간 제한은 연결 시간 제한 또는 로그인 시간 제한과 다릅니다. 연결 또는 로그인 시간 제한은 데이터베이스 서버에 대한 초기 연결이 미리 정의된 제한 시간에 도달할 때 발생합니다. 이 단계에서는 서버에 쿼리가 제출되지 않았습니다. 연결 또는 로그인 시간 제한 오류 메시지의 예는 다음과 같습니다.
연결 시간 제한 값은 클라이언트 쪽 설정이며 일반적으로 15초로 설정됩니다. 연결 시간 제한 문제를 해결하는 방법에 대한 자세한 내용은 연결 시간 제한 문제를 참조하세요. 쿼리 시간 제한 문제 해결은 이 비디오를 시청하세요. |