Partilhar via


Códigos de erro SQLSTATE

Aplica-se a:assinalado como sim Databricks SQL assinalado como sim Databricks Runtime 12.2 ou superior

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

A 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 SQLSTATE valores 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 classes e subclasses nos intervalos de 'KD' e 'K**' para SQLSTATEs personalizados. A classe 'XX' é usada para erros internos que justificam um relatório de bug.

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 SQL dinâmico

SQLSTATE Descrição e emissão de condições de erro
07001 a cláusula de utilização não corresponde às especificações dos parâmetros dinâmicos
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 Cliente SQL incapaz de estabelecer conexão SQL
08003 conexão não existe
08004 O servidor SQL rejeitou o estabelecimento da conexão SQL
08006 falha de conexão
08KD1 Servidor ocupado

Classe 0A: recurso não suportado

SQLSTATE Descrição e emissão de condições de erro
0A000 recurso não suportado
0A001 Várias transações de servidor
0AKD0 Operação de catálogo cruzado ou esquema não suportada
0AKD1 Recurso de segurança não suportado
0AKDC Não suportado em Delta
0AKDD Este recurso requer Delta
0AKDE Recurso não ativado para esta tabela Delta
0AKLT Funcionalidade não suportada para tabelas de streaming
0AKUC Não suportado no Unity Catalog
0AKUD O recurso requer o Unity Catalog
0AXX1 Coluna UOID inesperada no portal de ingestão
0AXX2 Tabela UOID inesperada no gateway de ingestão

Classe 0B: início de transação inválido

SQLSTATE Descrição e emissão de condições de erro
0B000 Início de transação inválido

Classe 0K: resinalizar quando o manipulador não estiver ativo

SQLSTATE Descrição e emissão de condições de erro
0K000 resinalizar quando o gestor não está 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 Inserir lista de valores 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
22002 valor nulo, nenhum parâmetro indicador
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 data/hora inválido
22008 estouro de campo de data e hora
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 do intervalo fora do limite
22010 valor do parâmetro indicador inválido
22012 divisão por zero
22015 transbordo no campo de intervalo
22018 Valor de caractere inválido para Cast
2201B expressão regular inválida
2201E argumento inválido para logaritmo natural
22022 sobrecarga do indicador
22023 valor de parâmetro inválido
22024 cadeia de caracteres C não terminada
22029 caractere não reconhecido na cadeia de caracteres UCS
22032 texto JSON inválido
2203G O item JSON SQL não pode ser convertido para o 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álido
22KD2 A declaração de identidade não está definida
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 de restrição de integridade

SQLSTATE Descrição e emissão de condições de erro
23001 limitar infrações
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 de verificação não pode ser adicionada, porque a tabela contém linhas que não satisfazem a definição de restrição.
23K01 Violação de cardinalidade MERGE

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

SQLSTATE Descrição e emissão de condições de erro
25000 Estado da transação inválido
25006 transação SQL de somente leitura

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égios 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 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 de esquema inválido

SQLSTATE Descrição e emissão de condições de erro
3F000 Nome do 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ções
40001 Falha de serialização

Classe 42: erro de sintaxe ou violação de 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 O ID de autorização não tem o privilégio de executar a operação especificada no objeto identificado.
42505 Ocorreu uma falha na autorização de conexão.
42517 O ID de autorização especificado não tem permissão para usar o contexto confiável.
42601 Um caractere, token ou cláusula é inválido ou está faltando.
42602 Foi detetado um caractere inválido em um nome.
42604 Foi detetada uma constante numérica ou de cadeia de caracteres inválida.
42605 O número de argumentos especificados para uma função escalar é inválido.
42607 Um operando de uma função agregada 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 definição de coluna, argumento, parâmetro ou variável global é inválida.
42612 A cadeia de caracteres da instrução é uma instrução SQL que não é aceitável no contexto em que é apresentada.
42613 As cláusulas são mutuamente exclusivas.
42614 Uma palavra-chave ou cláusula duplicada é inválida.
42616 Opções inválidas especificadas
42617 A cadeia de caracteres está em branco ou vazia.
42621 A restrição de verificação 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 à repetição de nomes.
42703 Foi detetada uma coluna ou um nome de parâmetro indefinido.
42704 Um objeto indefinido ou nome de restrição foi detetado.
42710 Um objeto duplicado ou nome de restrição foi detetado.
42711 Um nome de coluna duplicado foi detetado na definição de objeto ou declaração ALTER TABLE.
42713 Um objeto duplicado foi detetado 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 onde ela é definida.
42734 Foi detetado um nome de parâmetro duplicado, nome de variável SQL, rótulo ou nome de 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, porque 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, porque os tipos de dados não são compatíveis.
42807 A instrução de alteração de dados não é permitida neste 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 datetime ou duração 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 na 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 UNIÃO, INTERSEÇÃO, EXCEÇÃO ou VALUES não têm colunas compatíveis.
42826 As linhas de UNIÃO, INTERSECTA, EXCEPT ou VALUES não têm o mesmo número de colunas.
42830 A chave estrangeira não está de acordo com a descrição da chave pai.
42831 Valores nulos não são permitidos numa coluna de uma chave primária, numa coluna de uma chave exclusiva, numa coluna ROWID, numa coluna de carimbo de data e hora de alteração de linha, numa coluna de início de linha, numa coluna de fim de linha, ou numa coluna de um período da aplicação.
42832 A operação não é permitida em objetos do sistema.
42836 A especificação de uma tabela derivada nomeada recursiva é inválida.
42837 A coluna não pode ser alterada, porque seus atributos não são compatíveis com os atributos da coluna atual.
42845 Foi detetada uma utilização inválida de uma função NÃO DETERMINÍSTICA ou AÇÃO EXTERNA.
42846 Não há suporte para a 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 numa vista.)
42883 Nenhuma rotina foi encontrada com uma assinatura correspondente.
42887 A função ou referência de tabela não é válida no contexto em que 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, porque 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 O tipo de dados não é suportado no contexto em que está a ser utilizado.
428HD A instrução não pode ser processada porque uma máscara de coluna não pode ser aplicada ou porque a definição dessa máscara conflita com a instrução.
42902 O objeto do INSERT, UPDATEou do DELETE também é identificado (possivelmente implicitamente através de uma vista) numa cláusula FROM.
42903 Uso inválido de uma função agregada ou função OLAP.
42908 A instrução não inclui uma lista de colunas obrigatória.
42939 O nome não pode ser usado, porque o identificador especificado é reservado para uso do sistema.
42996 Uma coluna especificada não pode 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 Ficheiro 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 Função antiga bloqueada
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 é utilizada
42K0F Um objeto persistente não pode fazer referência a um objeto temporário.
42K0G Um protobuf é inválido
42K0H Foi detetada uma invocação cíclica.
42K0I Configuração SQL não encontrada ou inválida.
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ígua.
42KD1 Operação não suportada no modo de sessão READ ONLY.
42KD2 Os nomes das tabelas de origem e destino de um SYNC operaton devem ser os mesmos.
42KD3 Uma coluna não pode ser adicionada conforme especificado.
42KD4 Operação não suportada porque o esquema da 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 da coluna fora do intervalo.
42KD9 Não é possível inferir o esquema da tabela.
42KDA Falha ao integrar o arquivo no esquema da tabela.
42KDB URL inválido
42KDC Referência de arquivo arquivado.
42KDD Operação não suportada na visualização de streaming.
42KDE Operação não suportada no conjunto de dados de streaming.
42KDF Está faltando um argumento a um parâmetro de rotina necessário.
42KDG O esquema de destino não é compatível com os dados ingeridos.
42KDH Opção duplicada ou chave de propriedade.
42KDI Credencial ou token externo inválido ou expirado.
42KDJ A política ABAC/RBAC não pode ser aplicada.
42KDK Configuração de credenciais inválida
42KDL Montagem DBFS inválida
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
42P16 definição de tabela inválida
42P18 Tipo de dados indeterminado
42P20 erro de janela
42P21 Incompatibilidade de agrupamento
42P22 agrupamento indeterminado
42S02 Tabela base ou vista não encontrada
42S22 Coluna não encontrada
42S23 Expressão de transformação de partição não está incluída em 'partitionedBy'.
42XXX Caracteres sem suporte encontrados.

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

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

Classe 46: Java DDL 1

SQLSTATE Descrição e emissão de condições de erro
46103 Nome da classe não resolvido
46110 Funcionalidade não suportada
46121 Nome da 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, porque foi marcado como inoperante.

Classe 53: recursos insuficientes

SQLSTATE Descrição e emissão de condições de erro
53000 recursos insuficientes
53100 Disco cheio
53300 demasiadas ligações
53400 limite de configuração excedido

Classe 54: limite do programa excedido

SQLSTATE Descrição e emissão de condições de erro
54000 limite de programa excedido
54001 A declaração é demasiado longa ou demasiado complexa.
54006 A sequência de resultado é muito longa.
54011 Foram especificadas demasiadas colunas para uma tabela, vista ou função de tabela.
54023 demasiados argumentos
54K00 A profundidade máxima das vistas 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 que não está no estado de pré-requisito

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

Classe 56: Erros diversos de SQL ou de produto

SQLSTATE Descrição e emissão de condições de erro
56000 Erros diversos de SQL ou de produto
56038 O recurso solicitado não é suportado neste ambiente.
56098 Ocorreu um erro durante a religação, recompilação ou revalidação implícita.
56K00 Erro de Conexão Spark

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 seja de banco de dados não está disponível. Isso não afetará a execução bem-sucedida das declarações subsequentes.
57KD0 Tempo limite de execução da consulta
57P01 desligamento do administrador
57P02 interrupção por falha
57P03 não é possível conectar-se agora

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
82100 falta de memória (não foi possível alocar)

Classe F0: erro do arquivo de configuração

SQLSTATE Descrição e emissão de condições de erro
F0000 Erro no 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 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 inválida do cursor

Classe KC: Erros específicos do Catálogo Unity

SQLSTATE Descrição e emissão de condições de erro
KCUC4 Exceção de cliente não apanhado

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 ficheiro
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 que não seja de partição
KD006 Nenhuma confirmação encontrada no caminho do log
KD007 Assinatura da tabela alterada
KD008 Assinatura de tabela não definida
KD009 As partições não correspondem
KD00A Varredura parcial inesperada
KD00B Ficheiro não reconhecido
KD00C Versionamento 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
KD00G Acesso inválido baseado em caminhos
KD010 Falha na fonte de dados externa
KD011 Controle de acesso refinado (FGAC) em falhas de computação dedicadas
KD012 gráfico de fluxo de dados não encontrado
KD013 Erro de resolução de caminhos
KDL01 Erro de inicialização do cluster

Classe P0: erro de lógica processual

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