Codes d'état SQL

Dans de nombreux cas (par exemple lors d'une exécution sous ODBC 2.0), nous pouvons récupérer diverses informations gràce aux codes d'états SQL.

Le code d'état SQL est composé de cinq caractères, que nous pouvons diviser en deux parties de la manière suivante :

  • La classe qui est représentée par les deux premiers caractères.
    Exemples :
    • Classe 00 : Instruction correctement exécutée sans condition
    • Classe 01 : Instruction correctement exécutée avec avertissement
    • Classe 02 : L'instruction n’a traité aucune donnée
    • Classe 03 : L'instruction a échoué à cause d’une erreur
  • La sous classe qui est représentée par les trois derniers caractères.
#ClasseSous classeMessageInfo
000000Successful completionErreur 00000
101000WarningErreur 01000
201002- disconnect errorErreur 01002
301003- null value eliminated in set functionErreur 01003
401004- string data, right truncationErreur 01004
501005- insufficient item descriptor areasErreur 01005
601006- privilege not revokedErreur 01006
701007- privilege not grantedErreur 01007
801008- implicit zero-bit paddingErreur 01008
901S01- error in rowErreur 01S01
1001S02- option value changedErreur 01S02
1101S05- cancel treated as closeErreur 01S05
1201S06- attempt to fetch before the result set returned the first rowsetErreur 01S06
1301S07- fractional truncationErreur 01S07
1402000No dataErreur 02000
1507000Dynamic SQL errorErreur 07000
1607001- using clause does not match dynamic parameter specificationsErreur 07001
1707002- using clause does not match target specificationsErreur 07002
1807003- cursor specification cannot be executedErreur 07003
1907004- using clause required for dynamic parametersErreur 07004
2007005- prepared statement is not a cursor specificationErreur 07005
2107006- restricted data type attribute violationErreur 07006
2207007- using clause required for result fieldsErreur 07007
2307008- invalid descriptor countErreur 07008
2407009- invalid descriptor indexErreur 07009
250700F- invalid DATETIME_INTERVAL_CODEErreur 0700F
2608000Connection exceptionErreur 08000
2708001- client unable to establish connectionErreur 08001
2808002- connection name in useErreur 08002
2908003- connection does not existErreur 08003
3008004- server rejected the connectionErreur 08004
3108006- connection failureErreur 08006
3209000Triggered action exceptionErreur 09000
330A000Feature not supportedErreur 0A000
340B000Invalid transaction initiationErreur 0B000
350K000Resignal when handler not activeErreur 0K000
360W000Prohibited statement encountered during trigger executionErreur 0W000
3721000Cardinality violationErreur 21000
3821S01- insert value list does not match column listErreur 21S01
3921S02- degree of derived table does not match column listErreur 21S02
4022000Data exceptionErreur 22000
4122001- string data, right truncationErreur 22001
4222002- null value, no indicator parameterErreur 22002
4322003- numeric value out of rangeErreur 22003
4422005- error in assignmentErreur 22005
4522006- invalid interval formatErreur 22006
4622007- invalid datetime formatErreur 22007
4722008- datetime field overflowErreur 22008
4822011- substring errorErreur 22011
4922012- division by zeroErreur 22012
5022015- interval field overflowErreur 22015
5122018- invalid character value for castErreur 22018
5222019- invalid escape characterErreur 22019
5322023- invalid parameter valueErreur 22023
5422024- unterminated C stringErreur 22024
5522025- invalid escape sequenceErreur 22025
5622026- string data, length mismatchErreur 22026
5722027- trim errorErreur 22027
5822029- noncharacter in UCS stringErreur 22029
5923000Integrity constraint violationErreur 23000
6024000Invalid cursor stateErreur 24000
6125000Invalid transaction stateErreur 25000
6225S03- transaction is rolled backErreur 25S03
6326000Invalid SQL statement nameErreur 26000
6427000Triggered data change violationErreur 27000
6528000Invalid authorization specificationErreur 28000
662E000Invalid connection nameErreur 2E000
672F000SQL routine exceptionErreur 2F000
682F003- prohibited SQL-statement attemptedErreur 2F003
692F005- function executed no return statementErreur 2F005
7033000Invalid SQL descriptor nameErreur 33000
7134000Invalid cursor nameErreur 34000
7235000Invalid condition numberErreur 35000
7337000Syntax error or access violation
in PREPARE or EXECUTE IMMEDIATE *
Erreur 37000
743C000Ambiguous cursor nameErreur 3C000
7540000- transaction rollbackErreur 40000
7640001- serialization failureErreur 40001
7742000Syntax error or access rule violationErreur 42000
7842S01- base table or view already existsErreur 42S01
7942S02- base table or view not foundErreur 42S02
8042S11- index already existsErreur 42S11
8142S21- column already existsErreur 42S21
8242S22- column not foundErreur 42S22
8344000WITH CHECK OPTION violationErreur 44000
8445000Unhandled user-defined exceptionErreur 45000
85HY000General error Erreur HY000
86HY001- memory allocation errorErreur HY001
87HY003- invalid application buffer typeErreur HY003
88HY004- invalid SQL data typeErreur HY004
89HY007- associated statement is not preparedErreur HY007
90HY008- operation canceledErreur HY008
91HY009- invalid use of null pointerErreur HY009
92HY010- function sequence errorErreur HY010
93HY011- attribute cannot be set nowErreur HY011
94HY012- invalid transaction operation codeErreur HY012
95HY013- memory management errorErreur HY013
96HY014- limit on the number of handles exceededErreur HY014
97HY015- no cursor name availableErreur HY015
98HY016- cannot modify an implementation row descriptorErreur HY016
99HY017- invalid use of an automatically allocated descriptor handleErreur HY017
100HY018- server declined cancel request SQLCancelErreur HY018
101HY019- non-character and non-binary data sent in piecesErreur HY019
102HY020- attempt to concatenate a null valueErreur HY020
103HY021- inconsistent descriptor informationErreur HY021
104HY024- invalid attribute valueErreur HY024
105HY090- invalid string or buffer lengthErreur HY090
106HY091- invalid descriptor field identifierErreur HY091
107HY092- invalid attribute/option identifierErreur HY092
108HY093- invalid parameter numberErreur HY093
109HY095- function type out of rangeErreur HY095
110HY096- invalid information typeErreur HY096
111HY097- column type out of rangeErreur HY097
112HY098- scope type out of rangeErreur HY098
113HY099- nullable type out of rangeErreur HY099
114HY100- uniqueness option type out of rangeErreur HY100
115HY101- accuracy option type out of rangeErreur HY101
116HY102- table type out of rangeErreur HY102
117HY103- invalid retrieval codeErreur HY103
118HY104- invalid precision or scale valueErreur HY104
119HY105- invalid parameter typeErreur HY105
120HY106- fetch type out of rangeErreur HY106
121HY107- row value out of rangeErreur HY107
122HY108- concurrency option out of rangeErreur HY108
123HY109- invalid cursor positionErreur HY109
124HY110- invalid driver completionErreur HY110
125HY111- invalid bookmark valueErreur HY111
126HYC00- optional feature not implementedErreur HYC00
127HYT00- timeout expiredErreur HYT00
128HYT01- connection timeout expiredErreur HYT01
129IM000ODBC specific return codesErreur IM000
130IM001- driver does not support this functionErreur IM001
131IM008- dialog failedErreur IM008
132S0000ODBC 2.0 codes *Erreur S0000
133S0001- base table or view already exists *Erreur S0001
134S0002- base table not found *Erreur S0002
135S0011- index already exists *Erreur S0011
136S0012- index not found *Erreur S0012
137S0021- column already exists *Erreur S0021
138S0022- column not found *Erreur S0022
139S1000General errorErreur S1000
140S1001- memory allocation failureErreur S1001
141S1002- invalid column numberErreur S1002
142S1003- program type out of rangeErreur S1003
143S1004- SQL data type out of rangeErreur S1004
144S1008- operation canceledErreur S1008
145S1009- invalid argument valueErreur S1009
146S1010- function sequence errorErreur S1010
147S1012- invalid transaction operation code specifiedErreur S1012
148S1090- invalid string or buffer lengthErreur S1090
149S1091- descriptor type out of rangeErreur S1091
150S1092- option type out of rangeErreur S1092
151S1093- invalid parameter numberErreur S1093
152S1095- function type out of rangeErreur S1095
153S1096- information type out of rangeErreur S1096
154S1097- column type out of rangeErreur S1097
155S1098- scope type out of rangeErreur S1098
156S1099- nullable type out of rangeErreur S1099
157S1100- uniqueness option out of rangeErreur S1100
158S1101- accuracy option type out of rangeErreur S1101
159S1102- table type out of rangeErreur S1102
160S1105- direction option out of rangeErreur S1105
161S1106- fetch type out of rangeErreur S1106
162S1107- row value out of rangeErreur S1107
163S1108- concurrency option out of rangeErreur S1108
164S1109- invalid cursor positionErreur S1109
165S1C00- driver not capableErreur S1C00
166S1T00- timeout expiredErreur S1T00

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 06/07/2005, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/sql-states.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.