문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

SQL Server 오류 세부 정보

SQL Server Native Client OLE DB 공급자는 공급자별 오류 인터페이스 ISQLServerErrorInfo를 정의합니다. 이 인터페이스는 SQL Server 오류에 대한 세부 정보를 반환하며 명령 실행이나 행 집합 작업이 실패할 경우에 유용합니다.

ISQLServerErrorInfo 인터페이스에 액세스하는 두 가지 방법이 있습니다.

소비자는 다음 코드 예제와 같이 IErrorRecords::GetCustomerErrorObject를 호출하여 ISQLServerErrorInfo 포인터를 얻을 수 있습니다. ISQLErrorInfo를 얻을 필요는 없습니다. ISQLErrorInfoISQLServerErrorInfo는 모두 사용자 지정 OLE DB 오류 개체이고, ISQLServerErrorInfo는 프로시저 이름 및 줄 번호와 같은 세부 정보를 비롯하여 서버 오류 정보를 얻기 위해 사용하는 인터페이스입니다.

// Get the SQL Server custom error object.
if(FAILED(hr=pIErrorRecords->GetCustomErrorObject(
   nRec, IID_ISQLServerErrorInfo,
   (IUnknown**)&pISQLServerErrorErrorInfo)))

ISQLServerErrorInfo 포인터를 가져오는 다른 방법은 이미 얻은 ISQLErrorInfo 포인터에서 QueryInterface 메서드를 호출하는 것입니다. ISQLServerErrorInfo에는 ISQLErrorInfo에서 사용할 수 있는 정보의 상위 집합이 포함되어 있으므로 GetCustomerErrorObject를 통해 ISQLServerErrorInfo로 직접 이동하는 것이 좋습니다.

ISQLServerErrorInfo 인터페이스는 멤버 함수 ISQLServerErrorInfo::GetErrorInfo를 노출합니다. 이 함수는 SSERRORINFO 구조에 대한 포인터와 문자열 버퍼에 대한 포인터를 반환합니다. 두 포인터는 모두 소비자가 IMalloc::Free 메서드를 사용하여 할당 취소해야 하는 메모리를 참조합니다.

SSERRORINFO 구조 멤버는 소비자에 의해 다음과 같이 해석됩니다.

멤버

설명

pwszMessage

SQL Server 오류 메시지입니다. IErrorInfo::GetDescription에 반환된 문자열과 같습니다.

pwszServer

세션에 대한 SQL Server 인스턴스의 이름입니다.

pwszProcedure

해당되는 경우 오류가 발생한 프로시저의 이름입니다. 그렇지 않으면 빈 문자열입니다.

lNative

SQL Server원시 오류 번호입니다. ISQLErrorInfo::GetSQLInfoplNativeError 매개 변수에 반환된 값과 같습니다.

bState

SQL Server 오류 메시지의 상태입니다.

bClass

SQL Server 오류 메시지의 심각도입니다.

wLineNumber

해당되는 경우 오류가 발생한 저장 프로시저의 줄 번호입니다.

커뮤니티 추가 항목

추가
표시: