Delen via


SQLSTATE-toewijzingen

In dit onderwerp worden SQLSTATE-waarden voor ODBC 2.x en ODBC 3.x besproken. Zie bijlage A: ODBC-foutcodes voor meer informatie over ODBC 3.x SQLSTATE-waarden.

In ODBC 3.x worden HYxxx SQLSTATEs geretourneerd in plaats van S1xxx en worden 42Sxx SQLSTATEs geretourneerd in plaats van S00XX. Dit is gedaan om te voldoen aan de Open Group- en ISO-standaarden. In veel gevallen is de toewijzing niet een-op-een, omdat de standaarden de betekenis van verschillende SQLSTATEs opnieuw hebben gedefinieerd.

Wanneer een ODBC 2.x-toepassing wordt bijgewerkt naar een ODBC 3.x-toepassing , moet de toepassing worden gewijzigd om ODBC 3.x SQLSTATEs te verwachten in plaats van ODBC 2.x SQLSTATEs. De volgende tabel bevat de ODBC 3.x SQLSTATEs waaraan elke ODBC 2.x SQLSTATE is toegewezen.

Wanneer het SQL_ATTR_ODBC_VERSION omgevingskenmerk is ingesteld op SQL_OV_ODBC2, plaatst het stuurprogramma ODBC 2.x SQLSTATEs in plaats van ODBC 3.x SQLSTATEs wanneer SQLGetDiagField of SQLGetDiagRec wordt aangeroepen. Een specifieke toewijzing kan worden bepaald door te noteren welke ODBC 2.x SQLSTATE in kolom 1 van de volgende tabel overeenkomt met de ODBC 3.x SQLSTATE in kolom 2.

ODBC 2.x SQLSTATE ODBC 3.x SQLSTATE Comments
01S03 01001
01S04 01001
22003 HY019
22008 22007
22005 22018
24000 07005
37000 42000
70100 HY018
S0001 42S01
S0002 42S02
S0011 42S11
S0012 42S12
S0021 42S21
S0022 42S22
S0023 42S23
S1000 HY000
S1001 HY001
S1002 07009 ODBC 2.x SQLSTATE S1002 is toegewezen aan ODBC 3.x SQLSTATE 07009 als de onderliggende functies SQLBindCol, SQLColAttribute, SQLExtendedFetch, SQLFetch, SQLFetchScroll of SQLGetData zijn.
S1003 HY003
S1004 HY004
S1008 HY008
S1009 HY009 Geretourneerd voor een ongeldig gebruik van een null-aanwijzer.
S1009 HY024 Geretourneerd voor een ongeldige kenmerkwaarde.
S1009 HY092 Geretourneerd voor het bijwerken of verwijderen van gegevens door een aanroep naar SQLSetPos, of het toevoegen, bijwerken of verwijderen van gegevens door een aanroep naar SQLBulkOperations, wanneer de gelijktijdigheid alleen-lezen is.
S1010 HY007 HY010 SQLSTATE S1010 wordt toegewezen aan SQLSTATE HY007 wanneer SQLDescribeCol wordt aangeroepen vóór het aanroepen van SQLPrepare, SQLExecDirect of een catalogusfunctie voor de StatementHandle. Anders wordt SQLSTATE S1010 toegewezen aan SQLSTATE HY010.
S1011 HY011
S1012 HY012
S1090 HY090
S1091 HY091
S1092 HY092
S1093 07009 ODBC 3.x SQLSTATE 07009 is toegewezen aan ODBC 2.x SQLSTATE S1093 als de onderliggende functie SQLBindParameter of SQLDescribeParam is.
S1096 HY096
S1097 HY097
S1098 HY098
S1099 HY099
S1100 HY100
S1101 HY101
S1103 HY103
S1104 HY104
S1105 HY105
S1106 HY106
S1107 HY107
S1108 HY108
S1109 HY109
S1110 HY110
S1111 HY111
S1C00 HYC00
S1T00 HYT00

Opmerking

ODBC 3.x SQLSTATE 07008 is toegewezen aan ODBC 2.x SQLSTATE S1000.