ISQLServerErrorInfo::GetErrorInfo (OLE DB)
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Возвращает указатель на структуру OLE DB Driver for SQL Server SSERRORINFO, содержащую сведения об ошибке SQL Server.
OLE DB Driver for SQL Server определяет интерфейс для работы с ошибками ISQLServerErrorInfo. Этот интерфейс возвращает сведения об ошибке SQL Server, включая его серьезность и состояние.
Синтаксис
HRESULT GetErrorInfo(
SSERRORINFO**ppSSErrorInfo,
OLECHAR**ppErrorStrings);
Аргументы
ppSSErrorInfo[out]
Указатель на структуру SSERRORINFO. Если метод завершается ошибкой или нет сведений SQL Server, связанных с ошибкой, поставщик не выделяет память и гарантирует, что аргумент ppSSErrorInfo является пустым указателем на выходные данные.
ppErrorStrings[out]
Указатель на Юникод-указатель символьной строки. Если метод завершается ошибкой или нет сведений SQL Server, связанных с ошибкой, поставщик не выделяет память и гарантирует, что аргумент ppErrorStrings является пустым указателем на выходные данные. При освобождении аргумента ppErrorStrings с помощью метода IMalloc::Free высвобождаются три индивидуальных строковых компонента возвращенной структуры SSERRORINFO, так как память выделяется одним блоком.
Значения кода возврата
S_OK
Метод выполнен успешно.
E_INVALIDARG
Один из аргументов ppSSErrorInfo или ppErrorStrings имел значение NULL.
E_OUTOFMEMORY
OLE DB Driver for 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;
Элемент | Description |
---|---|
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.