Annexe A : Codes d’erreur ODBC

Cette rubrique décrit les valeurs SQLSTATE pour ODBC 3. x. Pour plus d’informations sur ODBC 3. x valeurs SQLSTATE, consultez Mappages SQLSTATE.

SQLGetDiagRec ou SQLGetDiagField retourne les valeurs SQLSTATE telles que définies par Open Group Gestion des données : langage SQL (SQL), version 2 (mars 1995). Les valeurs SQLSTATE sont des chaînes qui contiennent cinq caractères. Le tableau suivant répertorie les valeurs SQLSTATE qu’un pilote peut retourner pour SQLGetDiagRec.

La valeur de chaîne de caractères retournée pour un SQLSTATE se compose d’une valeur de classe de deux caractères suivie d’une valeur de sous-classe de trois caractères. Une valeur de classe « 01 » indique un avertissement et est accompagnée d’un code de retour de SQL_SUCCESS_WITH_INFO. Les valeurs de classe autres que « 01 », à l’exception de la classe « IM », indiquent une erreur et sont accompagnées d’une valeur de retour de SQL_ERROR. La classe « IM » est spécifique aux avertissements et aux erreurs qui dérivent de l’implémentation d’ODBC elle-même. La valeur de sous-classe « 000 » dans n’importe quelle classe indique qu’il n’existe aucune sous-classe pour cette classe SQLSTATE. L’attribution des valeurs de classe et de sous-classe est définie par SQL-92.

Notes

Bien que l’exécution réussie d’une fonction soit normalement indiquée par une valeur de retour de SQL_SUCCESS, la valeur SQLSTATE 00000 indique également la réussite.

SQLSTATE Error Peut être retourné à partir de
01000 Avertissement général Toutes les fonctions ODBC, sauf :

Sqlerror

SQLGetDiagField

SQLGetDiagRec
01001 Conflit d’opération de curseur SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
01002 Erreur de déconnexion SQLDisconnect
01003 Valeur NULL supprimée dans la fonction set SQLExecDirect

SQLExecute

SQLParamData
01004 Données de chaîne, tronquées à droite 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 Privilège non révoqué SQLExecDirect

SQLExecute

SQLParamData
01007 Privilège non accordé SQLExecDirect

SQLExecute

SQLParamData
01S00 Attribut de chaîne de connexion non valide SQLBrowseConnect

SQLDriverConnec
01S01 Erreur dans la ligne SQLBulkOperations

SQLExtendedFetch

SQLSetPos
01S02 Valeur de l’option modifiée SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetStmtAttr
01S06 Tentative d’extraction avant que le jeu de résultats ne retourne le premier ensemble de lignes SQLExtendedFetch

SQLFetchScroll
01S07 Troncation fractionnaire SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLSetPos
01S08 Erreur lors de l’enregistrement du DSN de fichier SQLDriverConnect
01S09 Mot clé non valide SQLDriverConnect
07001 Nombre incorrect de paramètres SQLExecDirect

SQLExecute
07002 Champ COUNT incorrect SQLExecDirect

SQLExecute

SQLParamData
07005 Instruction préparée et non spécification de curseur SQLColAttribute

SQLDescribeCol
07006 Violation d’attribut de type de données restreinte SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
07009 Index de descripteur non valide SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLColAttribute

SQLDescribeCol

SQLDescribeParam

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLParamData

SQLSetDescField

SQLSetDescRecSQLSetPos
07S01 Utilisation non valide du paramètre par défaut SQLExecDirect

SQLExecute

SQLParamData

SQLPutData
08001 Le client ne peut pas établir la connexion SQLBrowseConnect

SQLConnect

SQLDriverConnect
08002 Nom de connexion utilisé SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
08003 Connexion non ouverte SQLAllocHandle

SQLDisconnect

SQLEndTran

SQLGetConnectAttr

SQLGetInfo

SQLNativeSql

SQLSetConnectAttr
08004 Le serveur a rejeté la connexion SQLBrowseConnect

SQLConnect

SQLDriverConnect
08007 Échec de connexion pendant la transaction SQLEndTran
08S01 Échec de la liaison de communication 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 Insérer une liste de valeurs ne correspond pas à la liste de colonnes SQLExecDirect

SQLPrepare
21S02 Le degré de table dérivée ne correspond pas à la liste de colonnes SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
22001 Données de chaîne, tronquées à droite SQLBulkOperations

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLParamData

SQLPutData

SQLSetDescField

SQLSetPos
22002 Variable d’indicateur requise mais non fournie SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData
22003 Valeur numérique hors plage SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetInfo

SQLParamData

SQLPutData

SQLSetPos
22007 Format datetime non valide SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22008 Dépassement de champ Datetime SQLBulkOperations

SQLExecDirect

QLParamData

SQLPutData
22012 Division par zéro SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLPutData
22015 Dépassement de champ d’intervalle SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22018 Valeur de caractère non valide pour la spécification de cast SQLBulkOperations

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22019 Caractère d’échappement non valide SQLExecDirect

SQLExecute

SQLPrepare
22025 Séquence d’échappement non valide SQLExecDirect

SQLExecute

SQLPrepare
22026 Chaîne de données ou longueur non correspondante SQLParamData
23000 Violation de contrainte d’intégrité SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
24 000 État de curseur non valide 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 État de transaction non valide SQLDisconnect
25S01 État des transactions SQLEndTran
25S02 La transaction est toujours active SQLEndTran
25S03 La transaction est restaurée SQLEndTran
28000 Spécification d’autorisation non valide SQLBrowseConnect

SQLConnect

SQLDriverConnect
34000 Nom de curseur non valide SQLExecDirect

SQLPrepare

SQLSetCursorName
3C000 Nom du curseur en double SQLSetCursorName
3D000 Nom de catalogue non valide SQLExecDirect

SQLPrepare

SQLSetConnectAttr
3F000 Nom de schéma non valide SQLExecDirect

SQLPrepare
40001 Échec de sérialisation SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLEndTran

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLParamData

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
40002 Violation de contrainte d’intégrité SQLEndTran
40003 Saisie semi-automatique d’instruction inconnue SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLParamData

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
42000 Erreur de syntaxe ou violation d’accès SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
42S01 La table de base ou la vue existe déjà SQLExecDirect

SQLPrepare
42S02 Table de base ou vue introuvable SQLExecDirect

SQLPrepare
42S11 L’index existe déjà SQLExecDirect

SQLPrepare
42S12 Index introuvable SQLExecDirect

SQLPrepare
42S21 La colonne existe déjà SQLExecDirect

SQLPrepare
42S22 Colonne introuvable SQLExecDirect

SQLPrepare
44000 Violation de WITH CHECK OPTION SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
HY000 Erreur générale Toutes les fonctions ODBC, sauf :

Sqlerror

SQLGetDiagField

SQLGetDiagRec
HY001 Erreur d’allocation de mémoire Toutes les fonctions ODBC, sauf :

Sqlerror

SQLGetDiagField

SQLGetDiagRec
HY003 Type de mémoire tampon d’application non valide SQLBindCol

SQLBindParameter

SQLGetData
HY004 Type de données SQL non valide SQLBindParameter

SQLGetTypeInfo
HY007 L’instruction associée n’est pas préparée SQLCopyDesc

SQLGetDescField

SQLGetDescRec
HY008 Opération annulée Toutes les fonctions ODBC qui peuvent être traitées de manière asynchrone :

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 Utilisation non valide du pointeur Null 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 Erreur de séquence de fonction 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 Impossible de définir l’attribut maintenant SQLBulkOperations

SQLParamData

QLSetPos

SQLSetStmtAttr
HY012 Code d’opération de transaction non valide SQLEndTran
HY013 Erreur de gestion de la mémoire Toutes les fonctions ODBC, sauf :

SQLGetDiagField

SQLGetDiagRec
HY014 Limite du nombre de handles dépassés SQLAllocHandle
HY015 Aucun nom de curseur disponible SQLGetCursorName
HY016 Impossible de modifier un descripteur de ligne d’implémentation SQLCopyDesc

SQLSetDescField

SQLSetDescRec
HY017 Utilisation non valide d’un handle de descripteur alloué automatiquement SQLFreeHandle

SQLSetStmtAttr
HY018 Demande d’annulation refusée par le serveur SQLCancel
HY019 Données non caractères et non binaires envoyées en morceaux SQLPutData
HY020 Tentative de concaténer une valeur Null SQLPutData
HY021 Informations de descripteur incohérentes SQLBindParameter

SQLCopyDesc

SQLGetDescField

SQLSetDescField

SQLSetDescRec
HY024 Valeur d’attribut non valide SQLSetConnectAttr

SQLSetEnvAttr

SQLSetStmtAttr
HY090 Chaîne ou longueur de mémoire tampon non valide 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 Identificateur de champ de descripteur non valide SQLColAttribute

SQLGetDescField

SQLSetDescField
HY092 Identificateur d’attribut/d’option non valide SQLAllocHandle

QLBulkOperations

SQLCopyDesc

SQLDriverConnect

SQLEndTran

SQLFreeStmt

SQLGetConnectAttr

SQLGetEnvAttr

QLParamData

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetPos

SQLSetStmtAttr
HY095 Type de fonction hors plage SQLGetFunctions
HY096 Type d’informations non valide SQLGetInfo
HY097 Type de colonne hors plage SQLSpecialColumns
HY098 Type d’étendue hors plage SQLSpecialColumns
HY099 Type Nullable hors plage SQLSpecialColumns
HY100 Type d’option d’unicité hors plage SQLStatistics
HY101 Type d’option de précision hors plage SQLStatistics
HY103 Code de récupération non valide SQLDataSources

SQLDrivers
HY104 Précision ou valeur d’échelle non valide SQLBindParameter
HY105 Type de paramètre non valide SQLBindParameter

SQLExecDirect

SQLExecute

SQLParamData

SQLSetDescField
HY106 Type d’extraction hors plage SQLExtendedFetch

SQLFetchScroll
HY107 Valeur de ligne hors plage SQLExtendedFetch

SQLFetch

SQLFetchScroll

SQLSetPos
HY109 Position du curseur non valide SQLExecDirect

SQLExecute

SQLGetData

SQLGetStmtAttr

SQLNativeSql

SQLParamData

SQLSetPos
HY110 Complétion du pilote non valide SQLDriverConnect
HY111 Valeur de signet non valide SQLExtendedFetch

SQLFetchScroll
HYC00 Fonctionnalité facultative non implémentée 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 Délai expiré SQLBrowseConnect

SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLExtendedFetch

SQLForeignKeys

SQLGetTypeInfo

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HYT01 Délai d’attente de la connexion expiré Toutes les fonctions ODBC, sauf :

SQLDrivers

SQLDataSources

SQLGetEnvAttr

SQLSetEnvAttr
IM001 Le pilote ne prend pas en charge cette fonction Toutes les fonctions ODBC, sauf :

SQLAllocHandle

SQLDataSources

SQLDrivers

SQLFreeHandle

SQLGetFunctions
IM002 Nom de la source de données introuvable et aucun pilote par défaut spécifié SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM003 Impossible de charger le pilote spécifié SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM004 Échec du SQLAllocHandle du pilote sur SQL_HANDLE_ENV SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM005 Échec du SQLAllocHandle du pilote sur SQL_HANDLE_DBC SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM006 Échec de SQLSetConnectAttr du pilote SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM007 Aucune source de données ou pilote spécifié ; boîte de dialogue interdite SQLDriverConnect
IM008 Échec de la boîte de dialogue SQLDriverConnect
IM009 Impossible de charger la DLL de traduction SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
IM010 Nom de la source de données trop long SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM011 Nom du pilote trop long SQLBrowseConnect

SQLDriverConnect
IM012 Erreur de syntaxe du mot clé DRIVER SQLBrowseConnect

SQLDriverConnect
IM013 Erreur de fichier de trace Toutes les fonctions ODBC.
IM014 Nom de fichier DSN non valide SQLDriverConnect
IM015 Source de données de fichier endommagée SQLDriverConnect