ISQLServerErrorInfo::GetErrorInfo(OLE DB)

SQL Server 오류 정보가 포함된 SQL Server Native Client OLE DB 공급자 SSERRORINFO 구조에 대한 포인터를 반환합니다.

구문

HRESULT GetErrorInfo(
   SSERRORINFO**ppSSErrorInfo,
   OLECHAR**ppErrorStrings);

인수

  • ppSSErrorInfo[out]
    SSERRORINFO 구조에 대한 포인터입니다. 메서드가 실패하거나 오류와 연관된 SQL Server 정보가 없는 경우 공급자는 메모리를 할당하지 않고 출력에서 ppSSErrorInfo 인수가 Null 포인터인지 확인합니다.

  • ppErrorStrings[out]
    유니코드 문자열 포인터에 대한 포인터입니다. 메서드가 실패하거나 오류와 연결된 SQL Server 정보가 없는 경우 공급자는 메모리를 할당하지 않고 출력에서 ppErrorStrings 인수가 Null 포인터인지 확인합니다. IMalloc::Free 메서드를 사용하여 ppErrorStrings 인수를 해제하면 메모리가 블록에 할당될 때 반환된 SSERRORINFO 구조에 있는 세 개의 각 문자열 멤버가 해제됩니다.

반환 코드 값

  • S_OK
    메서드가 성공했습니다.

  • E_INVALIDARG
    ppSSErrorInfo 또는 ppErrorStrings 인수가 NULL입니다.

  • E_OUTOFMEMORY
    SQL Server Native Client OLE DB 공급자가 요청을 완료할 수 있을 만큼 충분한 메모리를 할당할 수 없습니다.

주의

SQL Server Native Client OLE DB 공급자가 소비자에 의해 전달된 포인터를 통해 반환된 SSERRORINFO 및 OLECHAR 문자열을 위한 메모리를 할당했습니다. 소비자는 오류 데이터에 액세스할 필요가 없게 되면 IMalloc::Free 메서드를 사용하여 이 메모리의 할당을 취소해야 합니다.

SSERRORINFO 구조는 다음과 같이 정의됩니다.

typedef struct tagSSErrorInfo
   {
   LPOLESTR pwszMessage;
   LPOLESTR pwszServer;
   LPOLESTR pwszProcedure;
   LONG lNative;
   BYTE bState;
   BYTE bClass;
   WORD wLineNumber;
   }
SSERRORINFO;

멤버

설명

pwszMessage

SQL Server에서 전달하는 오류 메시지입니다. 이 메시지는 IErrorInfo::GetDescription 메서드를 통해 반환됩니다.

pwszServer

오류가 발생한 SQL Server 인스턴스의 이름입니다.

pwszProcedure

오류가 저장 프로시저에서 발생한 경우에는 오류를 생성한 저장 프로시저의 이름이고, 그렇지 않으면 빈 문자열입니다.

lNative

SQL Server 오류 번호입니다. 오류 번호는 ISQLErrorInfo::GetSQLInfo 메서드의 plNativeError 매개 변수에 반환되는 번호와 동일합니다.

bState

SQL Server 오류의 상태입니다.

bClass

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

wLineNumber

해당되는 경우 오류 메시지가 발생한 SQL Server 저장 프로시저의 줄입니다. 저장 프로시저가 연관되지 않은 경우 기본값은 1입니다.

ppErrorStrings 인수에 반환된 문자열의 구조 참조 주소에 있는 포인터입니다.

참고 항목

참조

RAISERROR(Transact-SQL)

관련 자료

ISQLServerErrorInfo(OLE DB)