Anhang A: ODBC-Fehlercodes

In diesem Thema werden SQLSTATE-Werte für ODBC 3 erläutert. x. Weitere Informationen zu ODBC 3. x SQLSTATE-Werte, siehe SQLSTATE-Zuordnungen.

SQLGetDiagRec oder SQLGetDiagField gibt SQLSTATE-Werte zurück, wie von Open Group Datenverwaltung definiert: strukturierte Abfragesprache (SQL), Version 2 (März 1995). SQLSTATE-Werte sind Zeichenfolgen, die fünf Zeichen enthalten. In der folgenden Tabelle sind SQLSTATE-Werte aufgeführt, die ein Treiber für SQLGetDiagRec zurückgeben kann.

Der für eine SQLSTATE zurückgegebene Zeichenfolgenwert besteht aus einem zweistelligen Klassenwert gefolgt von einem dreistelligen Unterklassenwert. Der Klassenwert "01" gibt eine Warnung an und wird von einem Rückgabecode von SQL_SUCCESS_WITH_INFO begleitet. Andere Klassenwerte als "01", mit Ausnahme der Klasse "CHAT", weisen auf einen Fehler hin und werden von einem Rückgabewert von SQL_ERROR begleitet. Die Klasse "CHAT" ist spezifisch für Warnungen und Fehler, die von der Odbc-Implementierung selbst abgeleitet werden. Der Unterklassenwert "000" in einer beliebigen Klasse gibt an, dass für diese SQLSTATE keine Unterklasse vorhanden ist. Die Zuweisung von Klassen- und Unterklassenwerten wird durch SQL-92 definiert.

Hinweis

Obwohl die erfolgreiche Ausführung einer Funktion normalerweise durch den Rückgabewert SQL_SUCCESS angegeben wird, gibt SQLSTATE 00000 auch den Erfolg an.

SQLSTATE Fehler Kann von zurückgegeben werden
01000 Allgemeine Warnung Alle ODBC-Funktionen mit Ausnahme von:

Sqlerror

SQLGetDiagField

SQLGetDiagRec
01001 Cursorvorgangskonflikt SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
01002 Verbindungsfehler SQLDisconnect
01003 NULL-Wert in set-Funktion entfernt SQLExecDirect

SQLExecute

SQLParamData
01004 Zeichenfolgendaten, rechts abgeschnitten SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLDataSources

SQLDescribeCol

SQLDriverConnect

SQLDrivers

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetEnvAttr

SQLGetInfo

'SQLGetStmtAttr'

SQLNative

Sql SQLParamData

SQLPutData

SQLSetCursorName
01006 Berechtigung nicht widerrufen SQLExecDirect

SQLExecute

SQLParamData
01007 Berechtigung nicht gewährt SQLExecDirect

SQLExecute

SQLParamData
01S00 Ungültiges Verbindungszeichenfolgen-Attribut SQLBrowseConnect

SQLDriverConnec
01S01 Fehler in Zeile SQLBulkOperations

SQLExtendedFetch

SQLSetPos
01S02 Optionswert geändert SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetStmtAttr
01S06 Abrufen, bevor das Resultset das erste Rowset zurückgegeben hat SQLExtendedFetch

SQLFetchScroll
01S07 Bruchkürzung SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLSetPos
01S08 Fehler beim Speichern des Datei-DSN SQLDriverConnect
01S09 Ungültiges Schlüsselwort SQLDriverConnect
07001 Falsche Anzahl von Parametern SQLExecDirect

SQLExecute
07002 COUNT-Feld falsch SQLExecDirect

SQLExecute

SQLParamData
07005 Vorbereitete Anweisung, keine Cursorspezifikation SQLColAttribute

SQLDescribeCol
07006 Verletzung des eingeschränkten Datentyp-Attributs SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
07009 Ungültiger Deskriptorindex SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLColAttribute

SQLDescribeCol

SQLDescribeParam

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLParamData

SQLSetDescField

SQLSetDescRecSQLSetPos
07S01 Ungültige Verwendung des Standardparameters SQLExecDirect

SQLExecute

SQLParamData

SQLPutData
08001 Client kann keine Verbindung herstellen SQLBrowseConnect

SQLConnect

SQLDriverConnect
08002 Verwendeter Verbindungsname SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
08003 Verbindung nicht geöffnet SQLAllocHandle

SQLDisconnect

SQLEndTran

SQLGetConnectAttr

SQLGetInfo

SQLNativeSql

SQLSetConnectAttr
08004 Der Server hat die Verbindung abgelehnt. SQLBrowseConnect

SQLConnect

SQLDriverConnect
08007 Verbindungsfehler während der Transaktion SQLEndTran
08S01 Kommunikationslinkfehler SQLBrowseConnect

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLCopyDesc

SQLDescribeCol

SQLDescribeParam

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetFunctions

SQLGetInfo

SQLGetTypeInfo

SQLMoreResults

SQLNativeSql

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLPutData

SQLSetConnectAttr

SQLSetDescField

SQLSetDescRec

SQLSetEnvAttr

SQLSetStmtAttr

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
21S01 Insert value list does not match column list SQLExecDirect

SQLPrepare
21S02 Grad der abgeleiteten Tabelle stimmt nicht mit der Spaltenliste überein SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
22001 Zeichenfolgendaten, rechts abgeschnitten SQLBulkOperations

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLParamData

SQLPutData

SQLSetDescField

SQLSetPos
22002 Indikatorvariable erforderlich, aber nicht angegeben SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData
22003 Numerischer Wert außerhalb des Bereichs SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetInfo

SQLParamData

SQLPutData

SQLSetPos
22007 Ungültiges datetime-Format SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22008 Datetime-Feldüberlauf SQLBulkOperations

SQLExecDirect

QLParamData

SQLPutData
22012 Division by Zero SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLPutData
22015 Intervallfeldüberlauf SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22018 Ungültiger Zeichenwert für die Umwandlungsspezifikation SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22019 Ungültiges Escapezeichen SQLExecDirect

SQLExecute

SQLPrepare
22025 Ungültige Escapesequenz SQLExecDirect

SQLExecute

SQLPrepare
22026 Zeichenfolgendaten, nicht übereinstimmende Länge SQLParamData
23000 Verletzung der Integritätseinschränkung SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
24.000 Ungültiger Cursorstatus SQLBulkOperations

SQLCloseCursor

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetData

'SQLGetStmtAttr'

SQLGetTypeInfo

SQLNativeSql

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLSetConnectAttr

SQLSetCursorName

SQLSetPos

SQLSetStmtAttr

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
25000 Ungültiger Transaktionsstatus SQLDisconnect
25S01 Transaktionsstatus SQLEndTran
25S02 Transaktion ist weiterhin aktiv SQLEndTran
25S03 Transaktion wird zurückgesetzt SQLEndTran
28000 Ungültige Autorisierungsspezifikation SQLBrowseConnect

SQLConnect

SQLDriverConnect
34000 Ungültiger Cursorname SQLExecDirect

SQLPrepare

SQLSetCursorName
3C000 Doppelter Cursorname SQLSetCursorName
3D000 Ungültiger Katalogname SQLExecDirect

SQLPrepare

SQLSetConnectAttr
3F000 Ungültiger Schemaname SQLExecDirect

SQLPrepare
40001 Serialisierungsfehler SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLEndTran

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLParamData

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLSetPos

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
40002 Verletzung der Integritätseinschränkung SQLEndTran
40003 Anweisungsabschluss unbekannt SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLParamData

SQLSetPos

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
42000 Syntaxfehler oder Zugriffsverletzung SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
42S01 Basistabelle oder -sicht bereits vorhanden SQLExecDirect

SQLPrepare
42S02 Basistabelle oder -ansicht nicht gefunden SQLExecDirect

SQLPrepare
42S11 Index bereits vorhanden SQLExecDirect

SQLPrepare
42S12 Index nicht gefunden SQLExecDirect

SQLPrepare
42S21 Spalte bereits vorhanden SQLExecDirect

SQLPrepare
42S22 Spalte nicht gefunden SQLExecDirect

SQLPrepare
44000 WITH CHECK OPTION-Verstoß SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
HY000 Allgemeiner Fehler Alle ODBC-Funktionen außer:

Sqlerror

SQLGetDiagField

SQLGetDiagRec
HY001 Fehler bei der Speicherbelegung Alle ODBC-Funktionen außer:

Sqlerror

SQLGetDiagField

SQLGetDiagRec
HY003 Ungültiger Anwendungspuffertyp SQLBindCol

SQLBindParameter

SQLGetData
HY004 Ungültiger SQL-Datentyp SQLBindParameter

SQLGetTypeInfo
HY007 Zugeordnete Anweisung ist nicht vorbereitet SQLCopyDesc

SQLGetDescField

SQLGetDescRec
HY008 Vorgang abgebrochen Alle ODBC-Funktionen, die asynchron verarbeitet werden können:

SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDescribeCol

SQLDescribeParam

SQLDisconnect

SQLDriverConnect

SQLEndTran

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetData

SQLGetTypeInfo

SQLMoreResults

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLPutData

SQLSetConnectAttr

SQLSetPos

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
HY009 Ungültige Verwendung von NULL-Zeiger SQLAllocHandle

SQLBindParameter

SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLForeignKeys

SQLGetCursorName

SQLGetData

SQLGetFunctions

SQLNativeSql

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLPutData

SQLSetConnectAttr

SQLSetCursorName

SQLSetEnvAttr

SQLSetStmtAttr

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
HY010 Funktionssequenzfehler SQLAllocHandle

SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLCloseCursor

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLCopyDesc

SQLDescribeCol

SQLDescribeParam

SQLDisconnect

SQLEndTran

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLFreeHandle

'SQLFreeStmt'

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetFunctions

'SQLGetStmtAttr'

SQLGetTypeInfo

SQLMoreResults

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLPutData

SQLRowCount

SQLSetConnectAttr

SQLSetCursorName

SQLSetDescField

SQLSetEnvAttr

SQLSetDescRec

SQLSetPos

SQLSetStmtAttr

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
HY011 Attribut kann jetzt nicht festgelegt werden SQLBulkOperations

SQLParamData

QLSetPos

SQLSetStmtAttr
HY012 Ungültiger Transaktionsvorgangscode SQLEndTran
HY013 Fehler bei der Speicherverwaltung Alle ODBC-Funktionen außer:

SQLGetDiagField

SQLGetDiagRec
HY014 Grenzwert für die Anzahl überschrittener Handles SQLAllocHandle
HY015 Kein Cursorname verfügbar SQLGetCursorName
HY016 Ein Implementierungszeilendeskriptor kann nicht geändert werden. SQLCopyDesc

SQLSetDescField

SQLSetDescRec
HY017 Ungültige Verwendung eines automatisch zugeordneten Deskriptorhandles SQLFreeHandle

SQLSetStmtAttr
HY018 Vom Server abgelehnte Abbruchanforderung SQLCancel
HY019 Nicht-Zeichen- und Nicht-Binärdaten, die in Teilen gesendet werden SQLPutData
HY020 Versuch, einen NULL-Wert zu verketten SQLPutData
HY021 Inkonsistente Deskriptorinformationen SQLBindParameter

SQLCopyDesc

SQLGetDescField

SQLSetDescField

SQLSetDescRec
HY024 Ungültiger Attributwert SQLSetConnectAttr

SQLSetEnvAttr

SQLSetStmtAttr
HY090 Ungültige Zeichenfolgen- oder Pufferlänge SQLBindCol

SQLBindParameter

SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDataSources

SQLDescribeCol

SQLDriverConnect

SQLDrivers

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetInfo

'SQLGetStmtAttr'

SQLNativeSql

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLPutData

SQLSetConnectAttr

SQLSetCursorName

SQLSetDescField

SQLSetDescRec

SQLSetEnvAttr

SQLSetStmtAttr

SQLSetPos

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
HY091 Ungültiger Deskriptorfeldbezeichner SQLColAttribute

SQLGetDescField

SQLSetDescField
HY092 Ungültiger Attribut-/Optionsbezeichner SQLAllocHandle

QLBulkOperations

SQLCopyDesc

SQLDriverConnect

SQLEndTran

'SQLFreeStmt'

SQLGetConnectAttr

SQLGetEnvAttr

QLParamData

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetPos

SQLSetStmtAttr
HY095 Funktionstyp außerhalb des Bereichs SQLGetFunctions
HY096 Ungültiger Informationstyp SQLGetInfo
HY097 Spaltentyp außerhalb des Bereichs 'SQLSpecialColumns'
HY098 Bereichstyp außerhalb des Bereichs 'SQLSpecialColumns'
HY099 Nullable-Typ außerhalb des Bereichs 'SQLSpecialColumns'
HY100 Eindeutigkeitsoptionstyp außerhalb des Bereichs 'SQLStatistics'
HY101 Genauigkeitsoptionstyp außerhalb des Bereichs 'SQLStatistics'
HY103 Ungültiger Abrufcode SQLDataSources

SQLDrivers
HY104 Ungültiger Genauigkeits- oder Skalierungswert SQLBindParameter
HY105 Ungültiger Parametertyp SQLBindParameter

SQLExecDirect

SQLExecute

SQLParamData

SQLSetDescField
HY106 Abrufen des Typs außerhalb des Bereichs SQLExtendedFetch

SQLFetchScroll
HY107 Zeilenwert außerhalb des Bereichs SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLSetPos
HY109 Ungültige Cursorposition SQLExecDirect

SQLExecute

SQLGetData

'SQLGetStmtAttr'

SQLNativeSql

SQLParamData

SQLSetPos
HY110 Ungültiger Treiberabschluss SQLDriverConnect
HY111 Ungültiger Lesezeichenwert SQLExtendedFetch

SQLFetchScroll
HYC00 Optionales Feature nicht implementiert SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLDriverConnect

SQLEndTran

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetData

SQLGetEnvAttr

SQLGetInfo

'SQLGetStmtAttr'

SQLGetTypeInfo

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLSetConnectAttr

SQLSetEnvAttr

SQLSetPos

SQLSetStmtAttr

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
HYT00 Timeout abgelaufen SQLBrowseConnect

SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLForeignKeys

SQLGetTypeInfo

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

'SQLProcedures'

SQLSetPos

'SQLSpecialColumns'

'SQLStatistics'

SQLTablePrivileges

SQLTables
HYT01 Verbindungstimeout abgelaufen Alle ODBC-Funktionen mit Ausnahme von:

SQLDrivers

SQLDataSources

SQLGetEnvAttr

SQLSetEnvAttr
IM001 Treiber unterstützt diese Funktion nicht. Alle ODBC-Funktionen mit Ausnahme von:

SQLAllocHandle

SQLDataSources

SQLDrivers

SQLFreeHandle

SQLGetFunctions
IM002 Datenquellenname nicht gefunden und kein Standardtreiber angegeben SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM003 Der angegebene Treiber konnte nicht geladen werden. SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM004 SqlAllocHandle des Treibers auf SQL_HANDLE_ENV fehlgeschlagen SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM005 SqlAllocHandle des Treibers auf SQL_HANDLE_DBC fehlgeschlagen SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM006 Fehler bei SQLSetConnectAttr des Treibers SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM007 Keine Datenquelle oder Treiber angegeben; Dialog verboten SQLDriverConnect
IM008 Dialogfeld fehlgeschlagen SQLDriverConnect
IM009 Übersetzungs-DLL kann nicht geladen werden SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
IM010 Datenquellenname zu lang SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM011 Treibername zu lang SQLBrowseConnect

SQLDriverConnect
IM012 DRIVER-Schlüsselwortsyntaxfehler SQLBrowseConnect

SQLDriverConnect
IM013 Fehler in der Ablaufverfolgungsdatei Alle ODBC-Funktionen.
IM014 Ungültiger Name des Datei-DSN SQLDriverConnect
IM015 Beschädigte Dateidatenquelle SQLDriverConnect