Compartilhar via


Códigos de erro SQLSTATE

Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 12.2 e versões posteriores

Todas as classes de erro retornadas pelo Azure Databricks são associadas a um 5 caracteres SQLSTATE. Um SQLSTATE é uma codificação padrão SQL para condições de erro comumente usadas por JDBC, ODBCe outras APIs de cliente.

Um SQLSTATE consiste em duas partes: uma classe de dois caracteres e uma subclasse de três caracteres. Cada caractere deve ser um dígito '0' para '9' ou 'A' para 'Z'.

Embora muitos valores SQLSTATE sejam prescritos pelo padrão SQL, outros são comuns no setor, específicos do Spark ou do Azure Databricks.

Quando necessário, o Spark e o Azure Databricks usam as faixas de 'KD' classes e 'K**' subclasses para SQLSTATEs personalizados. A classe 'XX' é usada para erros internos que garantem um relatório de bugs.

Para obter uma lista ordenada de classes de erro, consulte: Tratamento de erros no Azure Databricks

O Azure Databricks usa as seguintes SQLSTATE classes:

Classe 07: erro de SQL dinâmico

SQLSTATE Descrição e emissão de condições de erro
07001 a cláusula “USING” não corresponde às especificações de parâmetro dinâmico
07501 A opção especificada em PREPARE ou EXECUTE não é válida.

Classe 08: exceção de conexão

SQLSTATE Descrição e emissão de condições de erro
08000 exceção de conexão
08001 O cliente SQL não consegue estabelecer a conexão SQL
08003 conexão inexistente
08004 SQL-Server rejeitou o estabelecimento da conexão SQL
08006 falha de conexão
08KD1 servidor ocupado

Classe 0A: recurso sem suporte

SQLSTATE Descrição e emissão de condições de erro
0A000 recurso sem suporte
0A001 várias transações de servidor
0AKD0 Não há suporte para operações entre catálogos ou esquemas
0AKD1 Não há suporte para o recurso de segurança
0AKDC Sem suporte no Delta
0AKDD O recurso requer Delta
0AKDE Recurso não habilitado para esta tabela Delta
0AKLT Recurso não habilitado no Delta Live
0AKUC Sem suporte no Catálogo do Unity
0AKUD O recurso requer o Catálogo do Unity

Classe 0B: inicialização de transação inválida

SQLSTATE Descrição e emissão de condições de erro
0B000 inicialização de transação inválida

Classe 0K: ressinalizar quando o manipulador não está ativo

SQLSTATE Descrição e emissão de condições de erro
0K000 Reenviar sinal quando o manipulador não estiver ativo

Classe 0N: erro de mapeamento SQL/XML

SQLSTATE Descrição e emissão de condições de erro
0N000 Erro de mapeamento SQL/XML

Classe 21: violação de cardinalidade

SQLSTATE Descrição e emissão de condições de erro
21000 violação de cardinalidade
21506 A mesma linha de uma tabela não pode ser o destino de mais de uma operação de atualização, exclusão ou inserção.
21S01 A lista de valores de inserção não corresponde à lista de colunas

Classe 22: exceção de dados

SQLSTATE Descrição e emissão de condições de erro
22000 exceção de dados
22001 dados de cadeia de caracteres, truncamento à direita
22003 valor numérico fora do intervalo
22004 valor nulo não permitido
22005 erro na atribuição
22006 formato de intervalo inválido
22007 formato de datetime inválido
22008 estouro no campo de datetime
22009 valor de deslocamento de fuso horário inválido
2200E valor nulo no destino da matriz
2200G incompatibilidade de tipo mais específica
2200P valor de intervalo fora do intervalo
22010 valor de parâmetro de indicador inválido
22012 divisão por zero
22015 estouro no campo de intervalo
22018 valor de caractere inválido para conversão
2201B expressão regular inválida
2201E argumento inválido para logaritmo natural
22022 estouro de indicador
22023 valor de parâmetro inválido
22024 cadeia de caracteres C não terminada
22029 noncharacter na string UCS
22032 texto JSON inválido
2203G O item JSON do SQL não pode ser convertido no tipo de destino
22525 O valor da chave de particionamento não é válido.
22531 O argumento de uma rotina interna ou fornecida pelo sistema resultou em um erro.
22546 O valor de um argumento de rotina não é válido.
22KD0 Erro transitório
22KD1 URI ou PATH inválidos
22KD2 A declaração de identidade não está configurada
22KD3 Não é possível evoluir o tipo de origem para o tipo de destino.
22P02 representação de texto inválida
22P03 representação binária inválida

Classe 23: violação da restrição de integridade

SQLSTATE Descrição e emissão de condições de erro
23001 restringir violação
23502 Um valor de inserção ou atualização é nulo, mas a coluna não pode conter valores nulos.
23505 Ocorreu uma violação da restrição imposta por um índice exclusivo ou uma restrição exclusiva.
23512 A restrição marcar não pode ser adicionada, pois a tabela contém linhas que não atendem à definição de restrição.
23K01 Violação de cardinalidade de mesclagem

Classe 25: estado de transação inválido

SQLSTATE Descrição e emissão de condições de erro
25000 estado de transação inválido

Classe 28: especificação de autorização inválida

SQLSTATE Descrição e emissão de condições de erro
28000 Especificação de autorização inválida

Classe 2B: descritores de privilégio dependentes ainda existem

SQLSTATE Descrição e emissão de condições de erro
2BP01 objetos dependentes ainda existem

Classe 2D: terminação de transação inválida

SQLSTATE Descrição e emissão de condições de erro
2D521 SQL COMMIT ou ROLLBACK são inválidos no ambiente operacional atual.
2DKD0 Falha no gancho de confirmação pós-confirmação.

Classe 35: número de condição inválido

SQLSTATE Descrição e emissão de condições de erro
35000 número de condição inválido

Classe 38: exceção de rotina externa

SQLSTATE Descrição e emissão de condições de erro
38000 exceção de rotina externa

Classe 39: exceção de invocação de rotina externa

SQLSTATE Descrição e emissão de condições de erro
39000 exceção de invocação de rotina externa

Classe 3D: nome de catálogo inválido

SQLSTATE Descrição e emissão de condições de erro
3D000 nome de catálogo inválido

Classe 3F: nome do esquema inválido

SQLSTATE Descrição e emissão de condições de erro
3F000 nome de esquema inválido

Classe 40: reversão de transação

SQLSTATE Descrição e emissão de condições de erro
40000 reversão de transação

Classe 42: erro de sintaxe ou violação da regra de acesso

SQLSTATE Descrição e emissão de condições de erro
42000 erro de sintaxe ou violação de regra de acesso
42001 Erro de codificador inválido
42501 A ID de autorização não tem o privilégio de executar a operação especificada no objeto identificado.
42505 Ocorreu uma falha de autorização de conexão.
42601 Um caractere, um token ou uma cláusula é inválido ou ausente.
42602 Um caractere inválido em um nome foi detectado.
42604 Uma constante numérica ou de cadeia de caracteres inválida foi detectada.
42605 O número de argumentos especificados para uma função escalar é inválido.
42607 Um operando de uma função de agregação ou operador CONCAT é inválido.
42608 O uso de NULL ou DEFAULT em VALUES ou em uma instrução de atribuição é inválido.
42611 A coluna, o argumento, o parâmetro ou a definição de variável global são inválidos.
42612 A cadeia de caracteres de instrução é uma instrução SQL que não é aceitável no contexto em que ela é apresentada.
42613 Os modos são mutuamente exclusivos.
42614 Uma palavra-chave ou cláusula duplicada é inválida.
42616 Opções inválidas especificadas
42617 A cadeia de caracteres de instrução está em branco ou vazia.
42621 A restrição marcar ou a expressão de coluna gerada é inválida.
42623 Uma cláusula DEFAULT não pode ser especificada.
42701 O mesmo destino é especificado mais de uma vez para atribuição na mesma instrução SQL.
42702 Uma referência de coluna é ambígua devido a nomes duplicados.
42703 Foi detectado um nome de parâmetro ou coluna indefinido.
42704 Foi detectado um objeto ou nome de restrição indefinido.
42710 Um objeto ou nome de restrição duplicado foi detectado.
42711 Um nome de coluna duplicado foi detectado na definição de objeto ou na instrução ALTER TABLE.
42713 Um objeto duplicado foi detectado em uma lista ou é o mesmo que um objeto existente.
42723 Uma rotina com a mesma assinatura já existe no esquema, módulo ou bloco composto em que ele é definido.
42734 Foi detectado um nome de parâmetro duplicado, nome da variável SQL, rótulo ou nome da condição.
4274K Uso inválido de um argumento nomeado ao invocar uma rotina.
42802 O número de valores de destino não é o mesmo que o número de valores de origem.
42803 Uma referência de coluna na cláusula SELECT ou HAVING é inválida, pois não é uma coluna de agrupamento; ou uma referência de coluna na cláusula GROUP BY é inválida.
42804 As expressões de resultado em uma expressão CASE não são compatíveis.
42805 Um inteiro na cláusula ORDER BY não identifica uma coluna da tabela de resultados.
42806 Um valor não pode ser atribuído a uma variável, pois os tipos de dados não são compatíveis.
42807 A instrução de alteração de dados não é permitida nesse objeto.
42808 Uma coluna identificada na operação INSERT ou UPDATE não é atualizável.
42809 O objeto identificado não é o tipo de objeto ao qual a instrução se aplica.
42815 O tipo de dados, comprimento, escala, valor ou CCSID é inválido.
42816 Um valor ou duração de datetime em uma expressão é inválido.
42818 Os operandos de um operador ou função não são compatíveis ou comparáveis.
42822 Uma expressão na cláusula ORDER BY ou cláusula GROUP BY não é válida.
42823 Várias colunas são retornadas de uma subconsulta que permite apenas uma coluna.
42825 As linhas de UNION, INTERSECT, EXCEPT ou VALUES não têm colunas compatíveis.
42826 As linhas de UNION, INTERSECT, EXCEPT ou VALUES não têm o mesmo número de colunas.
42830 A chave estrangeira não está em conformidade com a descrição da chave pai.
42832 A operação não é permitida em objetos do sistema.
42836 A especificação de uma tabela derivada recursiva nomeada é inválida.
42837 A coluna não pode ser alterada, pois seus atributos não são compatíveis com os atributos de coluna atuais.
42845 Foi detectado um uso inválido de uma função NOT DETERMINISTIC ou EXTERNAL ACTION.
42846 Não há suporte para conversão do tipo de origem para o tipo de destino.
42852 Os privilégios especificados em GRANT ou REVOKE são inválidos ou inconsistentes. (Por exemplo, GRANT ALTER em uma exibição.)
42883 Nenhuma rotina foi encontrada com uma assinatura correspondente.
42887 A função ou a referência de tabela não é válida no contexto em que ela ocorre.
42891 Já existe uma restrição duplicada.
42893 O objeto ou restrição não pode ser descartado, alterado ou transferido ou as autoridades não podem ser revogadas do objeto, pois outros objetos dependem dele.
428B3 Um SQLSTATE inválido foi especificado.
428C4 O número de elementos em cada lado do operador de predicado não é o mesmo.
428EK O qualificador de esquema não é válido.
428FR Uma coluna não pode ser alterada conforme especificado.
428FT A cláusula de particionamento especificada em CREATE ou ALTER não é válida.
428GU Uma tabela deve incluir pelo menos uma coluna que não esteja implicitamente oculta.
428H2 Não há suporte para o tipo de dados no contexto em que ele está sendo usado.
428HD A instrução não pode ser processada porque uma máscara de coluna não pode ser aplicada ou a definição da máscara entra em conflito com a instrução.
42902 O objeto do INSERT, UPDATEou DELETE também é identificado (possivelmente, de modo implícito por meio de uma exibição) em uma cláusula FROM.
42903 Uso inválido de uma função de agregação ou função OLAP.
42908 A instrução não inclui uma lista de colunas necessária.
42939 O nome não pode ser usado, pois o identificador especificado é reservado para o uso do sistema.
42996 Uma coluna especificada pode não ser usada em uma chave de partição.
429BB Não há suporte para o tipo de dados de uma coluna, parâmetro ou variável SQL.
429BQ A alteração especificada do tipo de dados ou atributo não é permitida.
42K01 tipo de dados não totalmente especificado
42K02 fonte de dados não encontrada
42K03 Arquivo não encontrado
42K04 Arquivo duplicado
42K05 O nome não é válido
42K06 Tipo inválido para opções
42K07 Não é um literal de esquema válido
42K08 Não é uma constante
42K09 Incompatibilidade de tipo de dados
42K0A Cláusula UNPIVOT inválida
42K0B Recurso herdado bloqueado
42K0C Referência ambígua à restrição
42K0D Função lambda inválida
42K0E Uma expressão não é válida no contexto em que é usada
42K0F Um objeto persistente não pode referenciar um objeto temporário.
42K0G Um protobuf é inválido
42K0H Uma invocação cíclica foi detectada.
42K0I Configuração do SQL não encontrada.
42K0K Função de distribuição inversa inválida
42K0L Uso inválido de rótulos.
42K0M Declaração de variável inválida.
42K0N Tipo externo inválido.
42K0O ScalarFunction não substitui o método 'produceResult(InternalRow)' com implementação personalizada.
42K0P ScalarFunction não implementa ou substitui o método 'produceResult(InternalRow)'.
42K0Q Declaração de manipulador inválida.
42K0R Declaração de condição inválida.
42K10 Opção dinâmica inválida.
42KD0 Referência de nome ambíguo.
42KD1 Operação sem suporte no modo de sessão SOMENTE LEITURA.
42KD2 Os nomes das tabelas de origem e de destino de uma operação SYNC devem ser os mesmos.
42KD3 Uma coluna não pode ser adicionada conforme especificado.
42KD4 Não há suporte para a operação porque o esquema de tabela foi alterado.
42KD5 Não é possível criar arquivo ou caminho.
42KD6 Nenhuma informação de partição encontrada.
42KD7 Incompatibilidade de assinatura de tabela.
42KD8 Posição fora do intervalo.
42KD9 Não é possível inferir o esquema de tabela.
42KDA Falha ao mesclar o arquivo no esquema de tabela.
42KDB URL inválida
42KDC Referência de arquivo arquivado.
42KDD Operação sem suporte no modo de exibição de streaming.
42KDE Operação sem suporte no conjunto de dados de streaming.
42KDF Um parâmetro de rotina necessário não tem um argumento.
42KDG O esquema de destino não é compatível com os dados ingeridos.
42KDH Origem inválida para o serviço de filtragem.
42P01 tabela indefinida
42P02 parâmetro indefinido
42P06 esquema duplicado
42P07 tabela duplicada
42P08 parâmetro ambíguo
42P10 referência de coluna inválida
42P18 tipo de dados indeterminado
42P20 erro de janela
42P21 Incompatibilidade de ordenação
42P22 ordenação indeterminado
42S22 Coluna não encontrada
42S23 Expressão de transformação de partição não está em 'partitionedBy'

Classe 44: com opção de verificação de violação

SQLSTATE Descrição e emissão de condições de erro
44000 com opção de verificação de violação

Classe 46: DDL 1 Java

SQLSTATE Descrição e emissão de condições de erro
46103 nome da classe não resolvido
46110 recurso sem suporte
46121 nome de coluna inválido

Classe 51: estado do aplicativo inválido

SQLSTATE Descrição e emissão de condições de erro
51000 Estado do aplicativo inválido
51024 Um objeto não pode ser usado, pois foi marcado como inoperante.

Classe 53: recursos insuficientes

SQLSTATE Descrição e emissão de condições de erro
53000 recursos insuficientes
53200 memória insuficiente

Classe 54: limite de programa excedido

SQLSTATE Descrição e emissão de condições de erro
54000 limite de programa excedido
54001 A instrução é muito longa ou muito complexa.
54006 A cadeia de caracteres resultante é muito longa.
54011 Muitas colunas foram especificadas para uma tabela, exibição ou função de tabela.
54023 excesso de argumentos
54K00 A profundidade máxima de exibições aninhadas foi excedida.
54KD0 Contagem máxima de UDF no plano de consulta excedida.
54KD1 Contagem máxima de objetos na sessão excedida.

Classe 55: objeto fora do estado de pré-requisito

SQLSTATE Descrição e emissão de condições de erro
55000 objeto não está no estado de pré-requisito
55019 O objeto está em um estado inválido para a operação.

Classe 56: erro de SQL ou produto diverso

SQLSTATE Descrição e emissão de condições de erro
56000 Erro diverso de SQL ou produto
56038 Não há suporte para o recurso solicitado nesse ambiente.
56098 Ocorreu um erro durante a reassociação implícita, recompilação ou revalidação.
56K00 Erro do Spark Connect

Classe 57: intervenção do operador

SQLSTATE Descrição e emissão de condições de erro
57000 intervenção do operador
57012 Um recurso que não é de banco de dados não está disponível. Isso não afetará a execução bem-sucedida de instruções subsequentes.
57KD0 Tempo limite de execução da consulta

Classe 58: erro do sistema

SQLSTATE Descrição e emissão de condições de erro
58000 Erro de sistema
58030 Erro de E/S

Classe 82: sem memória

SQLSTATE Descrição e emissão de condições de erro
82001 Memória insuficiente para agregação
82002 Memória insuficiente para aumentar a matriz de ponteiros
82003 Erro ao chamar spill()
82100 memória insuficiente (não foi possível alocar)

Classe F0: erro de arquivo de configuração

SQLSTATE Descrição e emissão de condições de erro
F0000 erro de arquivo de configuração

Classe HV: condição específica do FDW

SQLSTATE Descrição e emissão de condições de erro
HV000 Condição específica do FDW
HV091 Identificador de campo de descritor inválido

Classe HY: condição específica da CLI

SQLSTATE Descrição e emissão de condições de erro
HY000 Condição específica da CLI
HY008 operação cancelada
HY109 posição do cursor inválida

Classe KD: erros específicos da fonte de dados

SQLSTATE Descrição e emissão de condições de erro
KD000 erros específicos da fonte de dados
KD001 Não é possível ler o rodapé do arquivo
  • Falha ao ler o rodapé do arquivo (DELTA_FAILED_READ_FILE_FOOTER)
  • FAILED_READ_FILE
KD002 Versão inesperada
KD003 Acesso incorreto ao tipo de dados
KD004 Erro de versão do protocolo Delta
KD005 A tabela deve incluir pelo menos uma coluna de não partição
KD006 Nenhum commit encontrado no caminho do log
KD007 Assinatura de tabela alterada
KD008 Assinatura de tabela não definida
KD009 Partições não correspondem
KD00A Verificação parcial inesperada
KD00B Arquivo não reconhecido
KD00C Controle de versão não contíguo
KD00D Estatísticas necessárias
KD00E falha na validação do recurso de tabela
KD00F erro de solicitação de nuvem
KD010 Falha na fonte de dados externa
KDL01 erro de inicialização do cluster

Classe P0: erro de lógica de procedimento

SQLSTATE Descrição e emissão de condições de erro
P0001 gerar exceção