Apêndice A: Códigos de erro ODBC

Este tópico discute valores SQLSTATE para ODBC 3. x. Para obter mais informações sobre o ODBC 3. x valores SQLSTATE, consulte Mapeamentos SQLSTATE.

SQLGetDiagRec ou SQLGetDiagField retorna valores SQLSTATE conforme definido pelo Open Group Gerenciamento de Dados: linguagem SQL (SQL), Versão 2 (março de 1995). Os valores SQLSTATE são cadeias de caracteres que contêm cinco caracteres. A tabela a seguir lista valores SQLSTATE que um driver pode retornar para SQLGetDiagRec.

O valor da cadeia de caracteres retornado para um SQLSTATE consiste em um valor de classe de dois caracteres seguido por um valor de subclasse de três caracteres. Um valor de classe de "01" indica um aviso e é acompanhado por um código de retorno de SQL_SUCCESS_WITH_INFO. Valores de classe diferentes de "01", exceto a classe "IM", indicam um erro e são acompanhados por um valor retornado de SQL_ERROR. A classe "IM" é específica para avisos e erros que derivam da implementação do próprio ODBC. O valor de subclasse "000" em qualquer classe indica que não há subclasse para esse SQLSTATE. A atribuição de valores de classe e subclasse é definida pelo SQL-92.

Observação

Embora a execução bem-sucedida de uma função normalmente seja indicada por um valor retornado de SQL_SUCCESS, o SQLSTATE 00000 também indica êxito.

SQLSTATE Erro Pode ser retornado de
01000 Aviso geral Todas as funções ODBC, exceto:

Sqlerror

SQLGetDiagField

SQLGetDiagRec
01001 Conflito de operação do cursor SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
01002 Erro de desconexão Sqldisconnect
01003 Valor NULL eliminado na função set SQLExecDirect

SQLExecute

SQLParamData
01004 Dados de cadeia de caracteres, truncados à direita SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLDataSources

SQLDescribeCol

SQLDriverConnect

SQLDrivers

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetEnvAttr

SQLGetInfo

SQLGetStmtAttr

SQLNative

Sql SQLParamData

SQLPutData

Sqlsetcursorname
01006 Privilégio não revogado SQLExecDirect

SQLExecute

SQLParamData
01007 Privilégio não concedido SQLExecDirect

SQLExecute

SQLParamData
01S00 Atributo de cadeia de conexão inválido SQLBrowseConnect

SQLDriverConnec
01S01 Erro na linha SQLBulkOperations

Sqlextendedfetch

SQLSetPos
01S02 Valor da opção alterado SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetStmtAttr
01S06 Tentativa de busca antes que o conjunto de resultados retornasse o primeiro conjunto de linhas Sqlextendedfetch

SQLFetchScroll
01S07 Truncamento fracionário SQLBulkOperations

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLSetPos
01S08 Erro ao salvar o DSN do Arquivo SQLDriverConnect
01S09 Palavra-chave inválida SQLDriverConnect
07001 Número incorreto de parâmetros SQLExecDirect

SQLExecute
07002 Campo COUNT incorreto SQLExecDirect

SQLExecute

SQLParamData
07005 Instrução preparada não é uma especificação de cursor SQLColAttribute

SQLDescribeCol
07006 Violação de atributo de tipo de dados restrito SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
07009 Índice de descritor inválido SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLColAttribute

SQLDescribeCol

SQLDescribeParam

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLParamData

SQLSetDescField

SQLSetDescRecSQLSetPos
07S01 Uso inválido do parâmetro padrão SQLExecDirect

SQLExecute

SQLParamData

SQLPutData
08001 O cliente não consegue estabelecer a conexão SQLBrowseConnect

SQLConnect

SQLDriverConnect
08002 Nome da conexão em uso SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
08003 Conexão não aberta SQLAllocHandle

Sqldisconnect

SQLEndTran

SQLGetConnectAttr

SQLGetInfo

SQLNativeSql

SQLSetConnectAttr
08004 O servidor rejeitou a conexão SQLBrowseConnect

SQLConnect

SQLDriverConnect
08007 Falha de conexão durante a transação SQLEndTran
08S01 Falha no link de comunicação SQLBrowseConnect

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLCopyDesc

SQLDescribeCol

SQLDescribeParam

SQLDriverConnect

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetFunctions

SQLGetInfo

SQLGetTypeInfo

SQLMoreResults

SQLNativeSql

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

SQLSetDescField

SQLSetDescRec

SQLSetEnvAttr

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
21S01 Inserir lista de valores não corresponde à lista de colunas SQLExecDirect

SQLPrepare
21S02 O grau da tabela derivada não corresponde à lista de colunas SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
22001 Dados de cadeia de caracteres, truncados à direita SQLBulkOperations

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLParamData

SQLPutData

SQLSetDescField

SQLSetPos
22002 Variável de indicador necessária, mas não fornecida SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData
22003 Valor numérico fora do intervalo SQLBulkOperations

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLGetInfo

SQLParamData

SQLPutData

SQLSetPos
22007 Formato de datetime inválido SQLBulkOperations

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22008 Estouro do campo datetime SQLBulkOperations

SQLExecDirect

QLParamData

SQLPutData
22012 Divisão por zero SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLPutData
22015 Estouro de campo de intervalo SQLBulkOperations

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22018 Valor de caractere inválido para especificação de conversão SQLBulkOperations

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLGetData

SQLParamData

SQLPutData

SQLSetPos
22019 Caractere de escape inválido SQLExecDirect

SQLExecute

SQLPrepare
22025 Sequência de escape inválida SQLExecDirect

SQLExecute

SQLPrepare
22026 Incompatibilidade de comprimento de dados String SQLParamData
23000 Violação da restrição de integridade SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
24.000 Estado de cursor inválido SQLBulkOperations

SQLCloseCursor

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetData

SQLGetStmtAttr

SQLGetTypeInfo

SQLNativeSql

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetConnectAttr

Sqlsetcursorname

SQLSetPos

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
25000 Estado de transação inválido Sqldisconnect
25S01 Estado da transação SQLEndTran
25S02 A transação ainda está ativa SQLEndTran
25S03 A transação é revertida SQLEndTran
28000 Especificação de autorização inválida SQLBrowseConnect

SQLConnect

SQLDriverConnect
34000 Nome de cursor inválido SQLExecDirect

SQLPrepare

Sqlsetcursorname
3C000 Nome do cursor duplicado Sqlsetcursorname
3D000 Nome de catálogo inválido SQLExecDirect

SQLPrepare

SQLSetConnectAttr
3F000 Nome de esquema inválido SQLExecDirect

SQLPrepare
40001 Falha na serialização SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLEndTran

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLParamData

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
40002 Violação da restrição de integridade SQLEndTran
40003 Conclusão da instrução desconhecida SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetTypeInfo

SQLMoreResults

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLParamData

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
42000 Erro de sintaxe ou violação de acesso SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLPrepare

SQLSetPos
42S01 A tabela ou exibição base já existe SQLExecDirect

SQLPrepare
42S02 Tabela base ou exibição não encontrada SQLExecDirect

SQLPrepare
42S11 O índice já existe SQLExecDirect

SQLPrepare
42S12 Índice não encontrado SQLExecDirect

SQLPrepare
42S21 A coluna já existe SQLExecDirect

SQLPrepare
42S22 Coluna não encontrada SQLExecDirect

SQLPrepare
44000 Violação COM OPÇÃO DE VERIFICAÇÃO SQLBulkOperations

SQLExecDirect

SQLExecute

SQLParamData

SQLSetPos
HY000 Erro geral Todas as funções ODBC, exceto:

Sqlerror

SQLGetDiagField

SQLGetDiagRec
HY001 Erro de alocação de memória Todas as funções ODBC, exceto:

Sqlerror

SQLGetDiagField

SQLGetDiagRec
HY003 Tipo de buffer de aplicativo inválido SQLBindCol

SQLBindParameter

SQLGetData
HY004 Tipo de dados SQL inválido SQLBindParameter

SQLGetTypeInfo
HY007 A instrução associada não está preparada SQLCopyDesc

SQLGetDescField

SQLGetDescRec
HY008 Operação cancelada Todas as funções ODBC que podem ser processadas de forma assíncrona:

SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDescribeCol

SQLDescribeParam

Sqldisconnect

SQLDriverConnect

SQLEndTran

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetData

SQLGetTypeInfo

SQLMoreResults

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY009 Uso inválido de ponteiro nulo SQLAllocHandle

SQLBindParameter

SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLExecDirect

SQLForeignKeys

SQLGetCursorName

SQLGetData

SQLGetFunctions

SQLNativeSql

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

Sqlsetcursorname

SQLSetEnvAttr

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY010 Erro de sequência de funções SQLAllocHandle

SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLCloseCursor

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLCopyDesc

SQLDescribeCol

SQLDescribeParam

Sqldisconnect

SQLEndTran

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLFreeHandle

SQLFreeStmt

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetDescRec

SQLGetFunctions

SQLGetStmtAttr

SQLGetTypeInfo

SQLMoreResults

SQLNumParams

SQLNumResultCols

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLRowCount

SQLSetConnectAttr

Sqlsetcursorname

SQLSetDescField

SQLSetEnvAttr

SQLSetDescRec

SQLSetPos

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY011 O atributo não pode ser definido agora SQLBulkOperations

SQLParamData

QLSetPos

SQLSetStmtAttr
HY012 Código de operação de transação inválido SQLEndTran
HY013 Erro de gerenciamento de memória Todas as funções ODBC, exceto:

SQLGetDiagField

SQLGetDiagRec
HY014 Limite no número de identificadores excedido SQLAllocHandle
HY015 Nenhum nome de cursor disponível SQLGetCursorName
HY016 Não é possível modificar um descritor de linha de implementação SQLCopyDesc

SQLSetDescField

SQLSetDescRec
HY017 Uso inválido de um identificador de descritor alocado automaticamente SQLFreeHandle

SQLSetStmtAttr
HY018 Solicitação de cancelamento recusada pelo servidor SQLCancel
HY019 Dados não-caracteres e não binários enviados em partes SQLPutData
HY020 Tentar concatenar um valor nulo SQLPutData
HY021 Informações inconsistentes do descritor SQLBindParameter

SQLCopyDesc

SQLGetDescField

SQLSetDescField

SQLSetDescRec
HY024 Valor de atributo inválido SQLSetConnectAttr

SQLSetEnvAttr

SQLSetStmtAttr
HY090 Comprimento de buffer ou cadeia de caracteres inválida SQLBindCol

SQLBindParameter

SQLBrowseConnect

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDataSources

SQLDescribeCol

SQLDriverConnect

SQLDrivers

SQLExecDirect

SQLExecute

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetCursorName

SQLGetData

SQLGetDescField

SQLGetInfo

SQLGetStmtAttr

SQLNativeSql

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLPutData

SQLSetConnectAttr

Sqlsetcursorname

SQLSetDescField

SQLSetDescRec

SQLSetEnvAttr

SQLSetStmtAttr

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HY091 Identificador de campo de descritor inválido SQLColAttribute

SQLGetDescField

SQLSetDescField
HY092 Identificador de atributo/opção inválido SQLAllocHandle

QLBulkOperations

SQLCopyDesc

SQLDriverConnect

SQLEndTran

SQLFreeStmt

SQLGetConnectAttr

SQLGetEnvAttr

QLParamData

SQLSetConnectAttr

SQLSetDescField

SQLSetEnvAttr

SQLSetPos

SQLSetStmtAttr
HY095 Tipo de função fora do intervalo SQLGetFunctions
HY096 Tipo de informação inválido SQLGetInfo
HY097 Tipo de coluna fora do intervalo SQLSpecialColumns
HY098 Tipo de escopo fora do intervalo SQLSpecialColumns
HY099 Tipo anulável fora do intervalo SQLSpecialColumns
HY100 Tipo de opção de exclusividade fora do intervalo SQLStatistics
HY101 Tipo de opção de precisão fora do intervalo SQLStatistics
HY103 Código de recuperação inválido SQLDataSources

SQLDrivers
HY104 Valor de escala ou precisão inválido SQLBindParameter
HY105 Tipo de parâmetro inválido SQLBindParameter

SQLExecDirect

SQLExecute

SQLParamData

SQLSetDescField
HY106 Buscar tipo fora do intervalo Sqlextendedfetch

SQLFetchScroll
HY107 Valor de linha fora do intervalo Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLSetPos
HY109 Posição inválida do cursor SQLExecDirect

SQLExecute

SQLGetData

SQLGetStmtAttr

SQLNativeSql

SQLParamData

SQLSetPos
HY110 Conclusão inválida do driver SQLDriverConnect
HY111 Valor de indicador inválido Sqlextendedfetch

SQLFetchScroll
HYC00 Recurso opcional não implementado SQLBindCol

SQLBindParameter

SQLBulkOperations

SQLColAttribute

SQLColumnPrivileges

SQLColumns

SQLDriverConnect

SQLEndTran

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLFetch

SQLFetchScroll

SQLForeignKeys

SQLGetConnectAttr

SQLGetData

SQLGetEnvAttr

SQLGetInfo

SQLGetStmtAttr

SQLGetTypeInfo

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetConnectAttr

SQLSetEnvAttr

SQLSetPos

SQLSetStmtAttr

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HYT00 Tempo limite esgotado SQLBrowseConnect

SQLBulkOperations

SQLColumnPrivileges

SQLColumns

SQLConnect

SQLDriverConnect

SQLExecDirect

SQLExecute

Sqlextendedfetch

SQLForeignKeys

SQLGetTypeInfo

SQLParamData

SQLPrepare

SQLPrimaryKeys

SQLProcedureColumns

SQLProcedures

SQLSetPos

SQLSpecialColumns

SQLStatistics

SQLTablePrivileges

SQLTables
HYT01 O tempo limite da conexão expirou Todas as funções ODBC, exceto:

SQLDrivers

SQLDataSources

SQLGetEnvAttr

SQLSetEnvAttr
IM001 O driver não dá suporte a essa função Todas as funções ODBC, exceto:

SQLAllocHandle

SQLDataSources

SQLDrivers

SQLFreeHandle

SQLGetFunctions
IM002 Nome da fonte de dados não encontrado e nenhum driver padrão especificado SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM003 Não foi possível carregar o driver especificado SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM004 Falha no SQLAllocHandle do driver no SQL_HANDLE_ENV SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM005 Falha no SQLAllocHandle do driver no SQL_HANDLE_DBC SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM006 Falha no SQLSetConnectAttr do driver SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM007 Nenhuma fonte de dados ou driver especificado; caixa de diálogo proibida SQLDriverConnect
IM008 Falha na caixa de diálogo SQLDriverConnect
IM009 Não é possível carregar a DLL de tradução SQLBrowseConnect

SQLConnect

SQLDriverConnect

SQLSetConnectAttr
IM010 Nome da fonte de dados muito longo SQLBrowseConnect

SQLConnect

SQLDriverConnect
IM011 Nome do driver muito longo SQLBrowseConnect

SQLDriverConnect
IM012 Erro de sintaxe da palavra-chave DRIVER SQLBrowseConnect

SQLDriverConnect
IM013 Erro de arquivo de rastreamento Todas as funções ODBC.
IM014 Nome inválido do DSN de Arquivo SQLDriverConnect
IM015 Fonte de dados de arquivo corrompido SQLDriverConnect