SQL Server Error Detail

SQLOLEDB defines the provider-specific error interface ISQLServerErrorInfo. The interface returns more detail about a SQL Server error and is valuable when command execution or rowset operations fail.

ISQLServerErrorInfo is available on the SQLOLEDB implementation of ISQLErrorInfo. Unlike ISQLErrorInfo, the interface is not defined as a custom error object. The consumer queries ISQLErrorInfo to obtain an ISQLServerErrorInfo reference.

The ISQLServerErrorInfo interface exposes one member function GetErrorInfo. The function returns a pointer to an SSERRORINFO structure and a pointer to a string buffer. Both pointers reference memory the consumer must deallocate by using IMalloc::Free.

SSERRORINFO structure members are interpreted by the consumer as follows.

Member Description
pwszMessage SQL Server error message. Identical to the string returned in IErrorInfo::GetDescription.
pwszServer The name of the session’s SQL Server.
pwszProcedure If appropriate, the name of the procedure in which the error originated. An empty string otherwise.
lNative The SQL Server native error number. Identical to the value returned in the plNativeError parameter of ISQLErrorInfo::GetSQLInfo.
bState The state of a SQL Server error message.
bClass The severity of a SQL Server error message. For more information, see RAISERROR.
wLineNumber When applicable, the line number of a stored procedure on which the error occurred.