Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma popisuje hodnoty SQLSTATE pro ODBC 2.x a ODBC 3.x. Další informace o hodnotách ODBC 3.x SQLSTATE naleznete v dodatku A: Kódy chyb ODBC.
V rozhraní ODBC 3.x se místo S1xxx vrátí HYxxx SQLSTATEs a místo S00XX se vrátí 42Sxx SQLSTATEs. To bylo provedeno tak, aby odpovídalo standardům Open Group a ISO. V mnoha případech mapování není jednoznačné, protože standardy přeinterpretovaly interpretaci několika SQLSTATE.
Pokud je aplikace ODBC 2.x upgradována na aplikaci ODBC 3.x , musí být aplikace změněna tak, aby očekávala ODBC 3.x SQLSTATEs místo ODBC 2.x SQLSTATEs. Následující tabulka uvádí ODBC 3.x SQLSTATEs, na které je namapován každý ODBC 2.x SQLSTATE.
Pokud je atribut prostředí SQL_ATTR_ODBC_VERSION nastaven na SQL_OV_ODBC2, ovladač publikuje odbc 2.x SQLSTATEs místo ODBC 3.x SQLSTATEs při volání SQLGetDiagField nebo SQLGetDiagRec . Konkrétní mapování lze určit tak, že v následujícím sloupci 1 v následující tabulce zjistíte ODBC 2.x SQLSTATE, který odpovídá ODBC 3.x SQLSTATE ve sloupci 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 je mapován na ODBC 3.x SQLSTATE 07009, pokud je základní funkce SQLBindCol, SQLColAttribute, SQLExtendedFetch, SQLFetch, SQLFetchScroll nebo SQLGetData. |
| S1003 | HY003 | |
| S1004 | HY004 | |
| S1008 | HY008 | |
| S1009 | HY009 | Vráceno pro neplatné použití ukazatele null. |
| S1009 | HY024 | Vráceno pro neplatnou hodnotu atributu. |
| S1009 | HY092 | Vráceno pro aktualizaci nebo odstranění dat voláním SQLSetPos nebo pro přidání, aktualizaci či odstranění dat voláním SQLBulkOperations, pokud je konkurentnost nastavena na pouze pro čtení. |
| S1010 | HY007 HY010 | SQLSTATE S1010 je mapován na SQLSTATE HY007 při volání SQLDescribeCol před voláním SQLPrepare, SQLExecDirect nebo funkce katalogu pro StatementHandle. Jinak se SQLSTATE S1010 mapuje na SQLSTATE HY010. |
| S1011 | HY011 | |
| S1012 | HY012 | |
| S1090 | HY090 | |
| S1091 | HY091 | |
| S1092 | HY092 | |
| S1093 | 07009 | ODBC 3.x SQLSTATE 07009 je mapován na ODBC 2.x SQLSTATE S1093, pokud je základní funkce SQLBindParameter nebo SQLDescribeParam. |
| 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 |
Poznámka:
ODBC 3.x SQLSTATE 07008 je mapován na ODBC 2.x SQLSTATE S1000.