2015-07-20 2 views
1

Мне нужно знать список кодов ошибок Visual Basic 6, возвращаемых соединением ADODB SQL Server. Я также хочу знать Err.Nativeerror для каждого кода ошибки SQL ADODB.Vb6 Коды ошибок Adodb с эквивалентным nativeerror

Любая информация о том, где мы можем получить эти коды ошибок или любые коды VB6, которые перечисляют коды исключений и ошибок с описаниями деталей ошибки и значениями ошибок.

+0

Ошибки ADODB [здесь] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms677004%28v=vs.85%29.aspx) (не сложно найти), собственные ошибки зависят от используемого поставщика доступа к данным. – GSerg

+0

Мне нужны коды ошибок ADODB vb6 для исключений SQLserver – Ramselvaraj

+1

Не помещайте каждый язык VB на вопрос VB6. Добавлено '[ado]'. Удалены '[vb.net]', '[vba]', '[vb.net]'. – Bond

ответ

2

Таблица кодов ошибки ADODB с краткими описаниями находится по адресу ADO Programmer's Reference > ADO API Reference > ADO Enumerated Constants.

Существует примечание:

OLE DB ошибки могут быть переданы в приложение ADO. Как правило, эти могут быть идентифицированы кодом объекта Windows, равным 4. Например, 0x8004.

Кроме того, чтобы определить, является ли HRESULT код ошибки ошибка ADODB, это дополнительное примечание указывает:

шестнадцатеричный-шестнадцатеричное представление полного числа ошибок. Код объекта Windows находится в четвертой цифре. Код объекта для номеров ошибок ADO: A. Например: 0x800A0E7B.

См. Также [MS-ERREF]: Windows Error Codes от Microsoft, у которого есть ссылка на pdf-документ от Microsoft с довольно полным списком кодов и их описаниями. Существует RSS-канал для подписки на уведомления об обновлениях.

См. Также полный список Error Codes list for Microsoft technologies от Symantech.

См. Это Wikipedia topic HRESULT, описывающий формат кода ошибки, используемый Microsoft для кодов ошибок HRESULT. Из темы формат того, как используются биты является: HRESULT error code format

S - Severity - indicates success/fail 
    0 - Success 
    1 - Failure 
R - Reserved portion of the facility code, corresponds to NT's second severity bit. 
    1 - Severe Failure 
C - Customer. This bit specifies if the value is customer-defined or Microsoft-defined. 
    0 - Microsoft-defined 
    1 - Customer-defined 
N - Reserved portion of the facility code. Used to indicate a mapped NT status value. 
X - Reserved portion of the facility code. Reserved for internal use. Used to indicate HRESULT values that are not status values, but are instead message ids for display strings. 
Facility - indicates the system service that is responsible for the error. Example facility codes are shown below (for the full list see [1]). 
    1 - RPC 
    2 - Dispatch (COM dispatch) 
    3 - Storage (OLE storage) 
    4 - ITF (COM/OLE Interface management) 
    7 - Win32 (raw Win32 error codes) 
    8 - Windows 
    9 - SSPI 
    10 - Control 
    11 - CERT (Client or server certificate) 
... 
Code - is the facility's status code 
The ITF facility code has subsequently been recycled as the range in which COM components can define their own component-specific error code. 

Некоторые из наиболее распространенных кодов:

adErrItemNotFound - -2146825023 or 0x800A0CC1 - Item cannot be found in the collection that corresponds to the requested name or ordinal. 
adErrNoCurrentRecord - -2146825267 or 0x800A0BCD - Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 
adErrObjectNotSet - -2146824868 or 0x800A0D5C - Object is no longer valid. 

ошибка Один программист, который я сделал сам, которые привели к HRESULT 0x800A0CC1 при выполнении Update() заключается в том, что у меня не было настройки SAFEARRAY. См. usage differences between _variant_t, COleVariant, CComVariant, and VARIANT and using SAFEARRAY variations.

Смежные вопросы