Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
En este tema se describen los valores de SQLSTATE para ODBC 2.x y ODBC 3.x. Para obtener más información sobre los valores de SQLSTATE de ODBC 3.x, vea Apéndice A: Códigos de error ODBC.
En ODBC 3.x, los VALORES SQLSTATEs de HYxxx se devuelven en lugar de S1xxx y se devuelven 42Sxx SQLSTATEs en lugar de S00XX. Esto se hizo para alinearse con los estándares Open Group e ISO. En muchos casos, la asignación no es uno a uno porque los estándares han redefinido la interpretación de varios SQLSTATEs.
Cuando se actualiza una aplicación ODBC 2.x a una aplicación ODBC 3.x, la aplicación debe cambiarse para esperar SQLSTATEs ODBC 3.x en lugar de SQLSTATEs ODBC 2.x. En la tabla siguiente se enumeran los SQLSTATEs ODBC 3.x a los que se asigna cada SQLSTATE ODBC 2.x .
Cuando el atributo de entorno SQL_ATTR_ODBC_VERSION se establece en SQL_OV_ODBC2, el controlador publica SQLSTATEs de ODBC 2.x en lugar de SQLSTATEs de ODBC 3.x cuando se llama a SQLGetDiagField o SQLGetDiagRec. Se puede determinar una asignación específica anotando el SQLSTATE de ODBC 2.x en la columna 1 de la siguiente tabla que corresponde al SQLSTATE de ODBC 3.x en la columna 2.
| ODBC 2.x SQLSTATE | ODBC 3.x SQLSTATE | Comentarios |
|---|---|---|
| 01S03 | 01001 | |
| 01S04 | 01001 | |
| 22003 | HY019 | |
| 22008 | 22007 | |
| 22005 | 22018 | |
| 24000 | 07005 | |
| 37.000 | 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 se asigna a ODBC 3.x SQLSTATE 07009 si la función subyacente es SQLBindCol, SQLColAttribute, SQLExtendedFetch, SQLFetch, SQLFetchScroll o SQLGetData. |
| S1003 | HY003 | |
| S1004 | HY004 | |
| S1008 | HY008 | |
| S1009 | HY009 | Se devuelve para un uso no válido de un puntero NULO. |
| S1009 | HY024 | Se devuelve para un valor de atributo no válido. |
| S1009 | HY092 | Se devuelve para actualizar o eliminar datos mediante una llamada a SQLSetPos, o agregar, actualizar o eliminar datos mediante una llamada a SQLBulkOperations, cuando la simultaneidad es de solo lectura. |
| S1010 | HY007 HY010 | SQLSTATE S1010 se asigna a SQLSTATE HY007 cuando se llama a SQLDescribeCol antes de llamar a SQLPrepare, SQLExecDirect o una función de catálogo para StatementHandle. De lo contrario, SQLSTATE S1010 se asigna a SQLSTATE HY010. |
| S1011 | HY011 | |
| S1012 | HY012 | |
| S1090 | HY090 | |
| S1091 | HY091 | |
| S1092 | HY092 | |
| S1093 | 07009 | ODBC 3.x SQLSTATE 07009 se asigna a ODBC 2.x SQLSTATE S1093 si la función subyacente es SQLBindParameter o 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 |
Nota:
ODBC 3.x SQLSTATE 07008 se asigna a ODBC 2.x SQLSTATE S1000.