Megosztás:


SQLSTATE-leképezések

Ez a témakör az ODBC 2.x és ODBC 3.x SQLSTATE-értékeit ismerteti. További információ az ODBC 3.x SQLSTATE-értékekről a Függelék A: ODBC hibakódok részben található.

Az ODBC 3.x-ben A HYxxx SQLSTATE-k az S1xxx helyett, a 42Sxx SQLSTATE-t pedig S00XX helyett adják vissza. Ez az Open Group és az ISO szabványoknak való megfelelés érdekében történt. A leképezés sok esetben nem egy az egyhez, mert a szabványok több SQLSTATE értelmezését újradefiniálták.

Ha egy ODBC 2.x-alkalmazást ODBC 3.x-alkalmazásra frissít, az alkalmazást úgy kell módosítani, hogy az ODBC 2.x SQLSTATEs helyett ODBC 3.x SQLSTATE-t várjon. Az alábbi táblázat azokat az ODBC 3.x SQLSTATE-eket sorolja fel, amelyekre minden ODBC 2.x SQLSTATE megfeleltetve van.

Ha a SQL_ATTR_ODBC_VERSION környezeti attribútum SQL_OV_ODBC2 értékre van állítva, az illesztő ODBC 3.x SQLSTATE helyett ODBC 2.x SQLSTATE-eket ad meg az SQLGetDiagField vagy az SQLGetDiagRec meghívásakor. Egy adott leképezés úgy határozható meg, hogy a következő táblázat 1. oszlopában az ODBC 2.x SQLSTATE szerepel, amely megfelel a 2. oszlop ODBC 3.x SQLSTATE-jének.

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 Az ODBC 2.x SQLSTATE S1002 ODBC 3.x SQLSTATE 07009-re van leképezve, ha a mögöttes függvény az SQLBindCol, az SQLColAttribute, az SQLExtendedFetch, az SQLFetch, az SQLFetchScroll vagy az SQLGetData.
S1003 HY003
S1004 HY004
S1008 HY008
S1009 HY009 Érvénytelen null mutató használata esetén visszatér.
S1009 HY024 Érvénytelen attribútumérték visszaadva.
S1009 HY092 Ha az egyidejűség írásvédett, az SQLSetPos hívásával visszaadott adatok frissítése vagy törlése, illetve az SQLBulkOperations hívásával történő adatok hozzáadása, frissítése vagy törlése nem lehetséges.
S1010 HY007 HY010 Az SQLSTATE S1010 az SQLSTATE HY007-re van leképezve, amikor az SQLDescribeColmeghívása az SQLPrepare, az SQLExecDirect vagy az Utasításkezelő katalógusfüggvényének meghívása előtt történik. Ellenkező esetben az SQLSTATE S1010 az SQLSTATE HY010-re van leképezve.
S1011 HY011
S1012 HY012
S1090 HY090
S1091 HY091
S1092 HY092
S1093 07009 Az ODBC 3.x SQLSTATE 07009 az ODBC 2.x SQLSTATE S1093-ra térképezve van, ha az alapul szolgáló függvény SQLBindParameter vagy 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

Megjegyzés:

Az ODBC 3.x SQLSTATE 07008 az ODBC 2.x SQLSTATE S1000-re van leképezve.