Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie omówiono wartości SQLSTATE dla odBC 2.x i ODBC 3.x. Aby uzyskać więcej informacji na temat wartości ODBC 3.x SQLSTATE, zobacz Dodatek A: KODY błędów ODBC.
W ODBC 3.x zwracane są kody SQLSTATE HYxxx zamiast S1xxx, a kody SQLSTATE 42Sxx są zwracane zamiast S00XX. Zostało to zrobione w celu dostosowania do standardów Open Group i ISO. W wielu przypadkach odwzorowanie nie jest jeden do jednego, ponieważ standardy ponownie zdefiniowały interpretację kilku stanów SQLSTATE.
Po uaktualnieniu aplikacji ODBC 2.x do aplikacji ODBC 3.x należy zmodyfikować aplikację, aby oczekiwała na ODBC 3.x SQLSTATEs zamiast na ODBC 2.x SQLSTATEs. W poniższej tabeli wymieniono SQLSTATE ODBC 3.x, do których mapowany jest każdy SQLSTATE ODBC 2.x.
Gdy atrybut środowiska SQL_ATTR_ODBC_VERSION jest ustawiony na SQL_OV_ODBC2, sterownik publikuje elementy ODBC 2.x SQLSTATEs zamiast ODBC 3.x SQLSTATEs, gdy jest wywoływana funkcja SQLGetDiagField lub SQLGetDiagRec . Określone mapowanie można ustalić, zauważając ODBC 2.x SQLSTATE w kolumnie 1 poniższej tabeli, odpowiadający ODBC 3.x SQLSTATE w kolumnie 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 jest mapowany na ODBC 3.x SQLSTATE 07009, jeśli podstawową funkcją jest: SQLBindCol, SQLColAttribute, SQLExtendedFetch, SQLFetch, SQLFetchScroll lub SQLGetData. |
| S1003 | HY003 | |
| S1004 | HY004 | |
| S1008 | HY008 | |
| S1009 | HY009 | Zwrócony z powodu nieprawidłowego użycia wskaźnika o wartości null. |
| S1009 | HY024 | Zwrócone dla nieprawidłowej wartości atrybutu. |
| S1009 | HY092 | Zwracany do aktualizacji lub usunięcia danych poprzez wywołanie SQLSetPos, lub do dodania, aktualizacji albo usunięcia danych poprzez wywołanie SQLBulkOperations, gdy współbieżność jest ustawiona na tylko do odczytu. |
| S1010 | HY007 HY010 | SQLSTATE S1010 jest mapowany na SQLSTATE HY007, gdy funkcja SQLDescribeCol jest wywoływana przed wywołaniem SQLPrepare, SQLExecDirect lub funkcji wykazu dla StatementHandle. W przeciwnym razie SQLSTATE S1010 jest mapowany na SQLSTATE HY010. |
| S1011 | HY011 | |
| S1012 | HY012 | |
| S1090 | HY090 | |
| S1091 | HY091 | |
| S1092 | HY092 | |
| S1093 | 07009 | ODBC 3.x SQLSTATE 07009 jest mapowany na ODBC 2.x SQLSTATE S1093, jeśli podstawowa funkcja to SQLBindParameter lub 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 |
Uwaga / Notatka
OdBC 3.x SQLSTATE 07008 jest mapowany na ODBC 2.x SQLSTATE S1000.