Поделиться через


ISQLServerErrorInfo::GetErrorInfo (OLE DB)

Возвращает указатель на структуру SSERRORINFO поставщика собственного клиента OLE DB SQL Server, содержащую подробные сведения об ошибке SQL Server.

Синтаксис

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

Аргументы

  • ppSSErrorInfo[out]
    Указатель на структуру SSERRORINFO. Если данный метод не дает результатов или отсутствуют сведения SQL Server, связанные с этой ошибкой, поставщик не выделяет памяти и гарантирует, что аргумент ppSSErrorInfo, указывающий на выходные данные, имеет значение NULL.

  • ppErrorStrings[out]
    Указатель на Юникод-указатель символьной строки. Если данный метод не дает результатов или отсутствуют сведения SQL Server, связанные с ошибкой, поставщик не выделяет памяти и гарантирует, что аргумент ppErrorStrings, указывающий на выходные данные, имеет значение NULL. При освобождении аргумента ppErrorStrings с помощью метода IMalloc::Free высвобождаются три индивидуальных строковых компонента возвращенной структуры SSERRORINFO, поскольку память выделяется одним блоком.

Значения кода возврата

  • S_OK
    Метод выполнен успешно.

  • E_INVALIDARG
    Аргумент ppSSErrorInfo или аргумент ppErrorStrings имел значение NULL.

  • E_OUTOFMEMORY
    Поставщику OLE DB собственного клиента SQL Server не удалось выделить достаточный объем памяти для завершения запроса.

Замечания

Поставщик OLE DB собственного клиента SQL Server выделяет память для строк 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. Номер ошибки идентичен номеру, возвращаемому в параметре plNativeError метода ISQLErrorInfo::GetSQLInfo.

bState

Состояние ошибки SQL Server.

bClass

Степень серьезности ошибки SQL Server.

wLineNumber

Если это применимо, строка хранимой процедуры SQL Server, которая сформировала сообщение об ошибке. Если ошибка не связана с процедурой, значение по умолчанию составляет 1.

Указатели в адресах ссылок на структуры в строке, возвращенной в аргументе ppErrorStrings.

См. также

Справочник

RAISERROR (Transact-SQL)

Другие ресурсы

ISQLServerErrorInfo (OLE DB)