Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico discute os valores SQLSTATE para ODBC 2.x e ODBC 3.x. Para mais informações sobre os valores ODBC 3.x SQLSTATE, consulte o Apêndice A: Códigos de Erro ODBC.
No ODBC 3.x, os SQLSTATEs HYxxx são devolvidos em vez de S1xxx, e 42Sxx SQLSTATEs são devolvidos em vez de S00XX. Isto foi feito para alinhar com as normas Open Group e ISO. Em muitos casos, o mapeamento não é um para um porque as normas redefiniram a interpretação de vários SQLSTATEs.
Quando uma aplicação ODBC 2.x é atualizada para uma aplicação ODBC 3.x , a aplicação tem de ser alterada para esperar SQLSTATEs ODBC 3.x em vez de ODBC 2.x SQLSTATEs. A tabela seguinte lista os SQLSTATEs ODBC 3.x para os quais cada ODBC 2.x SQLSTATE está mapeado.
Quando o atributo do ambiente SQL_ATTR_ODBC_VERSION é definido para SQL_OV_ODBC2, o driver publica ODBC 2.x SQLSTATEs em vez de ODBC 3.x SQLSTATEs quando é chamado SQLGetDiagField ou SQLGetDiagRec . Um mapeamento específico pode ser determinado ao observar o ODBC 2.x SQLSTATE na coluna 1 da tabela seguinte que corresponde ao ODBC 3.x SQLSTATE na coluna 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 é mapeado para ODBC 3.x SQLSTATE 07009 se a função subjacente for SQLBindCol, SQLColAttribute, SQLExtendedFetch, SQLFetch, SQLFetchScroll ou SQLGetData. |
| S1003 | HY003 | |
| S1004 | HY004 | |
| S1008 | HY008 | |
| S1009 | HY009 | Devolvido por uso inválido de um ponteiro nulo. |
| S1009 | HY024 | Devolvido por um valor de atributo inválido. |
| S1009 | HY092 | Devolvido para atualização ou eliminação de dados por chamada ao SQLSetPos, ou para adicionar, atualizar ou eliminar dados por chamada ao SQLBulkOperations, quando a concorrência é só de leitura. |
| S1010 | HY007 HY010 | O SQLSTATE S1010 é mapeado para SQLSTATE HY007 quando o SQLDescribeCol é chamado antes de chamar SQLPrepare, SQLExecDirect ou uma função de catálogo para o StatementHandle. Caso contrário, o SQLSTATE S1010 é mapeado para o SQLSTATE HY010. |
| S1011 | HY011 | |
| S1012 | HY012 | |
| S1090 | HY090 | |
| S1091 | HY091 | |
| S1092 | HY092 | |
| S1093 | 07009 | ODBC 3.x SQLSTATE 07009 é mapeado para ODBC 2.x SQLSTATE S1093 se a função subjacente for SQLBindParameter ou 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 |
Observação
ODBC 3.x SQLSTATE 07008 está mapeado para ODBC 2.x SQLSTATE S1000.