다음을 통해 공유


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 인수에서 반환된 문자열의 구조 참조 주소에 있는 포인터입니다.

또한 참조하십시오

ISQLServerErrorInfo(OLE DB)
RAISERROR(Transact-SQL)