Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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 SQLSTATEs HYxxx se devuelven en lugar de S1xxx, y los SQLSTATEs 42Sxx se devuelven en lugar de S00XX. Esto se hizo para alinearse con los estándares Open Group e ISO. En muchos casos, la correspondencia no es de 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 cada SQLSTATE ODBC 2.x está asignado.
Cuando el atributo de entorno SQL_ATTR_ODBC_VERSION se establece en SQL_OV_ODBC2, el controlador genera estados SQLSTATE de ODBC 2.x en lugar de los de ODBC 3.x cuando se invocan SQLGetDiagField o SQLGetDiagRec. Se puede determinar una asignación específica al observar el SQLSTATE de ODBC 2.x en la columna 1 de la tabla siguiente, 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 | |
| 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 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 por un uso no válido de un puntero NULO. |
| S1009 | HY024 | Devuelto por 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 concurrencia es de solo lectura. |
| S1010 | HY007 HY010 | SQLSTATE S1010 se mapea a SQLSTATE HY007 cuando se llama a SQLDescribeCol antes de llamar a SQLPrepare, SQLExecDirect o a 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.