SQL0801N | Houve uma tentativa de dividir por zero. |
Explicação: O processamento de uma função de coluna ou de expressão aritmética resultou em divisão por zero.
A instrução não pode ser processada. Para as instruções INSERT, UPDATE ou DELETE, não foram executadas as inserções ou atualizações.
Usuário responsável: Examine a instrução SQL para determinar a causa do problema. Se o problema depender de dados, será necessário examinar os dados que estavam sendo processados quando ocorreu o erro. Consulte o SQL Reference para verificar os intervalos válidos para os tipos de dados.
Usuários do sistema federado: examine a instrução do SQL para determinar a causa do problema. Se o problema depender de dados, examine os dados sendo processados nas fontes de dados quando o erro ocorreu.
sqlcode: -801
sqlstate: 22012
SQL0802N | Ocorreu estouro ou outra exceção aritmética. |
Explicação: O processamento de uma função de coluna ou de expressão aritmética resultou em estouro aritmético.
A instrução não pode ser processada. Para as instruções INSERT, UPDATE ou DELETE, não foram executadas as inserções ou atualizações.
Usuário responsável: Examine a instrução SQL para determinar a causa do problema. Se o problema depender de dados, será necessário examinar os dados que estavam sendo processados quando ocorreu o erro. Consulte o SQL Reference para verificar os intervalos válidos para os tipos de dados.
Este erro também pode ser retornado quando as funções da coluna não conseguem manipular o valor que retornou da instrução SQL. Por exemplo, a emissão de uma instrução SELECT COUNT para uma tabela, que possui mais linhas que foram definidas pelo limite MAX_LONGINT_INT SQL, causará um erro de estouro aritmético. Considere o uso da função da coluna COUNT_BIG para tabelas com mais de 2 147 483 647 linhas.
Usuários do sistema federado: examine a instrução do SQL para determinar a causa do problema. Se o problema depender de dados, examine os dados sendo processados nas fontes de dados quando o erro ocorreu. Refira-se à SQL Reference correspondente para a fonte de dados para determinar as faixas válidas para os tipo de dados.
sqlcode: -802
sqlstate: 22003
SQL0803N | Um ou mais valores na instrução INSERT, UPDATE, ou atualização da chave estrangeira causados por uma instrução DELETE não são válidos por que eles produziriam linhas duplicadas para uma tabela com uma chave primária, restrição exclusiva, ou índice exclusivo. |
Explicação: A tabela objeto INSERT ou UPDATE é restrita por um ou mais índices exclusivos (UNIQUE) a ter valores exclusivos em determinadas colunas ou grupos de colunas. Alternativamente, uma instrução DELETE em uma tabela pai provocou a atualização de uma chave estrangeira em uma tabela dependente que é restringida por um ou mais índices UNIQUE para ter valores exclusivos em certas colunas ou grupos de colunas. O índice exclusivo pode existir para suportar uma chave primária ou restrição exclusiva definida na tabela. A conclusão da inserção ou atualização solicitada resultará em duplicatas de valores da coluna.
Outra alternativa é se uma view é o objeto de uma instrução INSERT ou UPDATE, é restrita a tabela onde a view é definida.
A instrução não pode ser processada. A tabela permanece inalterada.
Usuário responsável: Examine as definições de todos os índices UNIQUE definidos na tabela objeto para determinar a exclusividade imposta por esses índices.
Para uma instrução UPDATE, certifique-se de que a operação especificada não é ela mesma inconsistente com as restrições de exclusividade. Caso isso não revele o erro, examine o conteúdo da tabela objeto para determinar a causa do problema.
Para uma instrução INSERT, examine o conteúdo da tabela objeto para determinar que valor na lista de valores especificados viola a restrição de exclusividade. Outra alternativa seria, se a instrução INSERT contiver uma subconsulta, comparar o conteúdo da tabela objeto endereçado por esta subconsulta ao conteúdo da tabela objeto para determinar a causa do problema.
Para uma instrução DELETE, examine as tabelas dependentes para as restrições exclusivas em chaves externas que sejam definidas com a regra ON DELETE SET NULL. Tal tabela possui uma coluna de chave estrangeira incluída em um índice exclusivo que não pode ser definida para nulo porque já existe um nulo na coluna para aquela tabela.
Usuários do sistema federado: isole o problema à fonte de dados falha (refira-se ao manual de determinação de problemas para determinar qual fonte de dados está falhando em processar a instrução do SQL) e examine as definições de índice e dados para as condições relacionadas anteriormente.
sqlcode: -803
sqlstate: 23505
SQL0804N | Os parâmetros de entrada do programa da aplicação para a solicitação atual não são válidos. Código de razão "<código-de-razão>". Se uma variável do host ou SQLVAR na SQLDA for inválido, então: variável do host/número SQLVAR = "<número-da-variável>", SQLTYPE = "<sqltype>", SQLLEN = "<sqllen>", variável do host/tipo SQLVAR = "<entrada_ou_saída>". |
Explicação: Um erro ocorreu enquanto se processava a solicitação atual.
Os códigos de razão são interpretados como segue:
Usuários do sistema federado: Um tipo de dados especificado não é suportado pelo servidor federado nem pela fonte de dados que você deseja acessar.
Nas instruções SQL com variáveis do host, utilize o número da variável do host para a contagem a partir do início da instrução (ou subinstrução, no caso de SQL composto) a fim de localizar a variável do host inválida. Nas instruções que usam uma SQLDA, é utilizado o número da SQLVAR para localizar a SQLVAR inválida. Para uma SQLDA de entrada, conte apenas as variáveis do host ou SQLVARs de entrada; proceda analogamente para as de saída. Observe que esse número está baseado em 1.
A instrução não pode ser processada.
Usuário responsável: Examine o programa de aplicação para verificar se foram registrados erros. Note que o programador não deve tentar modificar a saída do pré-compilador.
Usuários do sistema federado: Se você recebeu o código de razão 102, especifique um tipo de dados suportado e submeta o programa novamente.
sqlcode: -804
sqlstate: 07002
SQL0805N | O pacote "<nome-do-pacote>" não foi localizado. |
Explicação: As causas possíveis desta mensagem (SQLCODE) são:
A instrução não pode ser processada.
Usuário responsável: Especifique o nome do pacote correto ou faça o bind do programa. Se a aplicação sendo executada não está fazendo o bind ao banco de dados, entre em contato com o administrador do banco de dados para fazer o bind necessário.
Se os programas do utilitário do DB2 necessitam efetuar o bind novamente ao banco de dados, o administrador do banco de dados pode executar isso emitindo um dos seguintes comandos do CLP do subdiretório bnd da instância, enquanto conectado ao banco de dados:
Usuários do sistema federado: certifique-se de que os pacotes necessários para servidor federado efetuou o bind nas fontes de dados aplicáveis. Consulte o Guia Installation and Configuration Supplement para obter mais informações sobre como efetuar o bind de pacotes a fontes de dados.
sqlcode: -805
sqlstate: 51002
SQL0808N | A semântica da instrução CONNECT não é consistente com a das outras conexões existentes. |
Explicação: A instrução CONNECT se origina de um arquivo-fonte que foi pré-compilado com opções de conexão diferentes (SQLRULES, tipo CONNECT, SYNCPOINT SYNCPOINT, ou tipo RELEASE) das de um arquivo-fonte para o qual a conexão existe.
Usuário responsável: Certifique-se de que todos os arquivos fonte sejam pré-compilados usando as mesmas opções CONNECT ou, se não for possível, chame a api SET CLIENT para definir as opções desejadas para o processo da aplicação antes de emitir a primeira instrução CONNECT.
sqlcode: -808
sqlstate: 08001
SQL0811N | O resultado de uma instrução de seleção completa escalar SELECT INTO ou instrução VALUES INTO é de mais de uma linha. |
Explicação: Um dos seguintes itens causou o erro:
Usuários do sistema federado: essa situação pode ser detectada por servidor federado ou pela fonte de dados.
A instrução não pode ser processada.
Usuário responsável: Certifique-se de que a instrução contém as especificações de condição corretas. Se contiver, pode haver um problema de dados que está fazendo com que mais de uma linha seja retornada quando apenas uma era esperada.
Usuários do sistema federado: isole o problema para a fonte de dados que está falhando a solicitação (consulte o manual de determinação de problemas para determinar qual fonte de dados está falhando ao processar a instrução SQL) e examine os critérios de seleção e os dados desse objeto.
sqlcode: -811
sqlstate: 21000
SQL0817N | A instrução SQL não pode ser executada porque a instrução vai resultar em uma operação de atualização proibida. |
Explicação: A aplicação tentou executar uma instrução SQL que resultaria em atualizações em dados do usuário ou no catálogo do subsistema. Isto é proibido devido a um dos seguintes motivos:
Estas instruções SQL incluem INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, GRANT e REVOKE.
A instrução não pode ser executada.
Usuário responsável: Se a aplicação estiver sendo executada como uma transação IMS somente para indagação, consulte o programador do sistema IMS para saber como alterar o status de somente para indagação da transação sob a qual sua aplicação está sendo executada.
Se a aplicação IMS ou CICS está tentando efetuar uma atualização remota, a aplicação deve ser alterada para ser executada como uma aplicação local no DBMS do servidor ou DBMS do servidor deve ser atualizado para aceitar o commit de duas fases.
Se a aplicação estiver tentando atualizar dados em várias localizações, a aplicação deve ser alterada, ou todos os DBMSs envolvidos devem ser atualizados para aceitar o commit de duas fases.
sqlcode: -817
sqlstate: 25000
SQL0818N | Ocorreu um conflito de registro de tempo. |
Explicação: O registro de tempo gerado pelo pré-compilador na pré-compilação não é igual ao registro de tempo armazenado com o pacote na hora do bind.
Este problema pode ter sido causado pelo seguinte:
Usuários do sistema federado: além das causas relacionadas anteriormente, o problema também pode ser devido a na efetuação do bind dos pacotes necessários em todas as fontes de dados aplicáveis.
A instrução não pode ser processada.
Usuário responsável: Faça o bind da aplicação novamente, usando o arquivo bind do programa que combina com o módulo objeto. Ou, execute o programa que corresponde ao pacote armazenado no banco de dados.
Caso esteja instalando o banco de dados de amostra, registre o número e o texto desta mensagem e consulte o seu representante autorizado.
Usuários do sistema federado: além das ações anteriormente relacionadas, certifique-se de que os pacotes necessários para o servidor federado fizeram o bind nas fontes de dados aplicáveis. Consulte o Installation and Configuration Supplement para obter mais informações sobre como fazer o bind dos pacotes a fontes de dados.
sqlcode: -818
sqlstate: 51003
SQL0822N | A SQLDA contém um endereço de dados ou endereço de variável indicadora não válido. |
Explicação: O programa de aplicação colocou um endereço inválido na SQLDA.
A instrução não pode ser processada.
Usuário responsável: Corrija o programa de aplicação para que sejam colocados endereços válidos na SQLDA.
sqlcode: -822
sqlstate: 51004
SQL0840N | Foram retornados itens demais em uma lista SELECT. |
Explicação: O número de itens retornados na lista SELECT excede o máximo permitido. O máximo para listas SELECT (a não ser em expressões de tabela comuns) é 1012. O máximo para listas SELECT em expressões de tabela comuns é 5000.
A instrução não pode ser processada.
Usuário responsável: Determine se todas as informações são realmente necessárias. (Observe que o número de itens retornados pela lista SELECT * na instrução SQL SELECT * de A, B, C é a soma do número de colunas em todas as três tabelas.) Se possível, reescreva a instrução SQL para que apenas os itens de informações necessários sejam retornados. Se todas as informações forem necessárias, divida a instrução SQL em duas ou mais instruções.
sqlcode: -840
sqlstate: 54004
SQL0842N | Uma conexão ao servidor "<nome-do-servidor>" já existe. |
Explicação: SQLRULES(STD) está em vigor e uma instrução CONNECT identifica uma conexão SQL existente.
Usuário responsável: A correção depende do erro:
Corrija o erro na aplicação e tente novamente.
sqlcode: -842
sqlstate: 08002
SQL0843N | O nome do servidor não especifica uma conexão existente. |
Explicação: Um instrução, comando ou API especificada como nome de servidor não identifica uma conexão SQL existente do processo de aplicação.
Isto pode ter ocorrido utilizando:
Usuário responsável: A correção depende do erro:
Corrija o erro na aplicação e tente novamente.
sqlcode: -843
sqlstate: 08003
SQL0846N | Especificação inválida de coluna de identidade "<nome-de-coluna>". |
Explicação: Para uma instrução ALTER ou CREATE TABLE, a especificação de uma coluna de identidade pode ser inválida por um dos seguintes motivos:
A instrução não pode ser processada.
Usuário responsável: Corrija a sintaxe e submeta a instrução novamente.
sqlcode: -846
sqlstate: 42815
SQL0859N | Falha ao acessar o Banco de Dados do Gerenciador de Transação com SQLCODE "<SQLCODE>". |
Explicação: A aplicação foi pré-compilada com SYNCPOINT(TWOPHASE) e exige um Banco de Dados do Gerenciador de Transações para coordenar o commit de duas fases. As razões para o Banco de Dados do Gerenciador de Transações não estar disponível podem ser as seguintes:
Usuário responsável: As ações possíveis são:
sqlcode: -859
sqlstate: 08502
SQL0863W | A conexão foi feita com sucesso, mas devem ser usados apenas caracteres de byte único. |
Explicação: O banco de dados do servidor e a aplicação do cliente estão utilizando páginas de código para tipos de idioma diferentes e todos os caracteres fora da classificação 7-bit ASCII não podem ser garantidos (apenas os caracteres na classificação 7-bit ASCII existem em todos os páginas de código). Por exemplo, uma conexão poderia ser entre um página de código japonês e um Latino-1, porém nenhum dos caracteres japoneses poderão ser encontrados no página de código latino-1, sendo assim todos esses caracteres devem ser evitados (no entanto, os caracteres do inglês estão corretos).
Usuários do sistema federado: possíveis causas são:
Usuário responsável: Não submeta instruções ou comandos SQL que utilizem caracteres que não são comuns entre os páginas de código da aplicação e do banco de dados.
Usuários do sistema federado: não submeta instruções ou comandos do SQL que não usem caracteres que não sejam comuns entre o sistema do cliente, o sistema federado e a fonte de dados.
sqlcode: +863
sqlstate: 01539
SQL0865N | Valor de banco_de_dados_tm inválido. |
Explicação: O banco de dados selecionado como o banco_de_dados_tm na configuração do gerenciador de banco de dados não é válido. O banco de dados deve estar no nível DB2 V2.1 ou posterior, e não pode ser um banco de dados acessado através de protocolo DRDA (ou seja, através de DB2 Connect).
A instrução não pode ser executada.
Usuário responsável:
sqlcode: -865
sqlstate: 08001
SQL0866N | O redirecionamento da conexão falhou. Código de razão: "<código-de-razão>" |
Explicação: A catalogação de diretórios para um banco de dados fez uma conexão ser redirecionada de uma forma que não é suportada.
Os códigos de razão possíveis são:
Usuário responsável: De acordo com os códigos de razão, as ações são:
sqlcode: -866
sqlstate: 08001
SQL0868N | Foi tentada uma CONNECT usando uma cláusula USER/USING para um servidor para o qual já existe conexão. |
Explicação: Existe uma conexão corrente ou inativa para um servidor, e a tentativa de conectar (CONNECT) com este servidor usando a cláusula USER/USING é inválida.
Usuário responsável: Ações possíveis:
sqlcode: -868
sqlstate: 51022
SQL0880N | SAVEPOINT "<nome-do-savepoint>" não existe ou está inválido neste contexto. |
Explicação: Ocorreu um erro na emissão de uma instrução RELEASE ou ROLLBACK TO SAVEPOINT "<nome-do-savepoint>". Não existe um savepoint com esse nome ou ele foi estabelecido fora do contexto de execução atômica atual.
A instrução não pode ser processada.
Usuário responsável: Corrija o nome do savepoint na instrução e emita a instrução novamente.
sqlcode: -880
sqlstate: 3B001
SQL0881N | Já existe um SAVEPOINT com nome "<nome-do-savepoint>", mas não é possível reutilizar o nome do savepoint. |
Explicação: O nome "<nome-do-savepoint>" já foi usado numa instrução SAVEPOINT. O nome do savepoint não pode ser reutilizado porque pelo menos uma das instruções SAVEPOINT que usou este nome também especificou a palavra-chave UNIQUE, que reivindica a exclusividade do nome.
A instrução não pode ser processada. O novo savepoint não foi definido. O savepoint antigo com o mesmo nome ainda existe.
Usuário responsável: Escolha outro nome para este savepoint e emita a instrução SAVEPOINT novamente. Se este nome existente tiver que ser reutilizado, emita a instrução RELEASE SAVEPOINT para liberar o savepoint existente. No entanto, certifique-se de que a instrução RELEASE SAVEPOINT também libera quaisquer savepoints que estejam estabelecidos na transação desde que o savepoint especificado foi estabelecido. Para obter maiores informações, consulte o Manual SQL.
sqlcode: -881
sqlstate: 3B501
SQL0882N | O savepoint não existe. |
Explicação: Ocorreu um erro na emissão de uma instrução ROLLBACK TO SAVEPOINT. A emissão de ROLLBACK TO SAVEPOINT sem estabelecer um nome de savepoint específico não é permitida quando não há savepoints existentes.
A instrução não pode ser processada.
Usuário responsável: Emita uma instrução diferente ou tente fazer roll back da transação inteira com a instrução ROLLBACK.
sqlcode: -882
sqlstate: 3B502