OLE/COM objects report errors through the HRESULT return code of object member functions. An OLE/COM HRESULT is a bit-packed structure. OLE provides macros that dereference structure members.

OLE/COM specifies the IErrorInfo interface. The interface exposes methods such as GetDescription. This allows clients to extract error details from OLE/COM servers. OLE DB extends IErrorInfo to support the return of multiple error information packets on a single-member function execution.

SQL Server can return multiple errors. An application can retrieve server errors one at a time by calling IMultipleResults::GetResult combined with ISQLErrorInfo and IErrorRecords.

The SQL Server Native Client OLE DB provider exposes the OLE DB record-enhanced IErrorInfo, the custom ISQLErrorInfo, and the provider-specific ISQLServerErrorInfo error object interfaces.

For information about tracing errors, see Data Access Tracing.