SQLSTATE 매핑
이 항목에서는 ODBC 2.x 및 ODBC 3.x 에 대한 SQLSTATE 값에 대해 설명합니다. ODBC 3.x SQLSTATE 값에 대한 자세한 내용은 부록 A: ODBC 오류 코드를 참조 하세요.
ODBC 3.x에서는 S1xxx 대신 HYxxx SQLSTATE가 반환되고 S00XX 대신 42Sxx SQLSTATE가 반환됩니다. 이는 Open Group 및 ISO 표준에 맞게 수행되었습니다. 대부분의 경우 표준이 여러 SQLSTATE의 해석을 다시 정의했기 때문에 매핑은 일대일이 아닙니다.
ODBC 2.x 애플리케이션을 ODBC 3.x 애플리케이션으로 업그레이드하는 경우 ODBC 2.x SQLSTATE 대신 ODBC 3.x SQLSTATE를 예상하도록 애플리케이션을 변경해야 합니다. 다음 표에서는 각 ODBC 2.x SQLSTATE가 매핑되는 ODBC 3.x SQLSTATE를 나열합니다.
SQL_ATTR_ODBC_VERSION 환경 특성이 SQL_OV_ODBC2 설정되면 드라이버는 SQLGetDiagField 또는 SQLGetDiagRec를 호출할 때 ODBC 3.x SQLSTATE 대신 ODBC 2.x SQLSTATE를 게시합니다. 열 2의 ODBC 3.x SQLSTATE에 해당하는 다음 표의 열 1에 있는 ODBC 2.x SQLSTATE를 확인하여 특정 매핑을 확인할 수 있습니다.
ODBC 2.x SQLSTATE | ODBC 3.x SQLSTATE | 설명 |
---|---|---|
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 | 기본 함수가 SQLBindCol, SQLColAttribute, SQLExtendedFetch, SQLFetch, SQLFetchScroll 또는 SQLGetData인 경우 ODBC 2.x SQLSTATE S1002는 ODBC 3.x SQLSTATE 07009에 매핑됩니다. |
S1003 | HY003 | |
S1004 | HY004 | |
S1008 | HY008 | |
S1009 | HY009 | null 포인터를 잘못 사용하기 위해 반환됩니다. |
S1009 | HY024 | 잘못된 특성 값에 대해 반환됩니다. |
S1009 | HY092 | 동시성이 읽기 전용인 경우 SQLSetPos를 호출하여 데이터를 업데이트하거나 삭제하거나 SQLBulkOperations를 호출하여 데이터를 추가, 업데이트 또는 삭제하기 위해 반환됩니다. |
S1010 | HY007 HY010 | SQLPrepare, SQLExecDirect 또는 StatementHandle에 대한 카탈로그 함수를 호출하기 전에 SQLDescribeCol이 호출될 때 SQLSTATE S1010이 SQLSTATE HY007에 매핑됩니다. 그렇지 않으면 SQLSTATE S1010이 SQLSTATE HY010에 매핑됩니다. |
S1011 | HY011 | |
S1012 | HY012 | |
S1090 | HY090 | |
S1091 | HY091 | |
S1092 | HY092 | |
S1093 | 07009 | 기본 함수가 SQLBindParameter 또는 SQLDescribeParam인 경우 ODBC 3.x SQLSTATE 07009가 ODBC 2.x SQLSTATE S1093에 매핑됩니다. |
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 |
참고 항목
ODBC 3.x SQLSTATE 07008은 ODBC 2.x SQLSTATE S1000에 매핑됩니다.