SQL0401N | Os tipos de dados dos operandos da operação "<operador>" não são compatíveis. |
Explicação: A operação "<operador>" que aparece dentro da instrução do SQL possui uma mistura de operandos numéricos e não-numéricos, ou os operandos da operação não são compatíveis.
Usuários do sistema federado: a violação deste tipo de dados pode estar na fonte de dados ou no servidor federado.
Algumas fontes de dados não fornecem os valores apropriados para o "<operador>". Nestes casos o token da mensagem terá o seguinte formato: "<fonte de dados>:UNKNOWN", indicando que o valor real da fonte de dados especificada é desconhecido.
A instrução não pode ser processada.
Usuário responsável: Verifique todos os tipos de dados dos operandos para garantir que são comparáveis e compatíveis com o uso da instrução.
Se todos os operandos da instrução do SQL estão corretos e acessando uma view, verifique os tipos de dados de todos os operandos da view.
Usuários do sistema federado: Se a razão for desconhecida, isole o problema à fonte de dados que falha o pedido (consulte o Problem Determination Guide para obter procedimentos a serem seguidos para identificar a fonte de dados com falha) e verifique as restrições de tipo de dados para essa fonte de dados.
sqlcode: -401
sqlstate: 42818
SQL0402N | O tipo de dados de um operando de uma função aritmética ou operação "<operador>" não é numérico. |
Explicação: Foi especificado um operando não numérico para a função aritmética ou operador "<operador>".
A instrução não pode ser processada.
Usuário responsável: Corrija a sintaxe da instrução do SQL para que todas os operandos especificados da função ou do operador sejam numéricos.
Usuários do sistema federado: se a razão for desconhecida, isole o problema à fonte de dados que falha o pedido (consulte o guia de determinação de problemas para obter os procedimentos a serem seguidos para identificar a fonte de dados com falha) e examine os operadores aplicados para essa fonte de dados.
sqlcode: -402
sqlstate: 42819
SQL0403W | O nome do alias recém-definido "<nome>" foi processado no objeto "<nome2>" que está indefinido no momento. |
Explicação: O alias <nome> foi definido a partir de:
O objeto <nome2> é o objeto indefinido. Este objeto deve existir para que qualquer instrução SQL (diferente de CREATE ALIAS) possa usar com êxito o nome do alias recém-criado. O alias especificado <nome> é criado.
Uma view inoperante é considerada indefinida para fins de criação de um nome do alias.
Usuário responsável: Verifique se o objeto indefinido <nome2> é definido antes de usar o alias recém-criado em uma instrução SQL (diferente de CREATE ALIAS).
sqlcode: +403
sqlstate: 01522
SQL0404N | Uma cadeia na instrução UPDATE ou INSERT é longa demais para a coluna "<nome>". |
Explicação: Uma instrução INSERT ou UPDATE especifica um valor maior do que a cadeia de comprimento máximo que pode ser armazenada na coluna indicada.
A instrução não pode ser processada.
Nota: | "<nome>" pode ser retornado ou não no SQLCA, dependendo da sintaxe da instrução INSERT ou UPDATE. |
Usuário responsável: Verifique o comprimento da coluna objeto e corrija o programa ou instrução SQL para que a cadeia de inserção ou atualização não ultrapasse o comprimento máximo.
sqlcode: -404
sqlstate: 22001
SQL0405N | O literal numérico "<literal>" não é válido porque seu valor está fora do intervalo. |
Explicação: O literal numérico especificado não pertence ao intervalo aceitável.
Os intervalos adequados para valores SQL são os seguintes:
Em determinados contextos, a literal pode ter mais restrições que causam este erro. Para obter mais informações, consulte a instrução ou a cláusula no SQL Reference.
Usuários do sistema federado: a violação deste intervalo pode estar na fonte de dados ou no servidor federado. Os intervalos apropriados para valores de SQL localizados em tabelas da fonte de dados dependem da fonte de dados. Para determinar o intervalo correto, consulte a documentação apropriada para a fonte de dados Algumas fontes de dados não fornecem os valores apropriados para o "<literal>". Nestes casos o token da mensagem terá o seguinte formato: "<fonte de dados>:UNKNOWN", indicando que o valor real da fonte de dados especificada é desconhecido.
A instrução não pode ser processada.
Usuário responsável: reduza o valor do literal para o tamanho apropriado.
Usuários do sistema federado: se a razão for desconhecida, isole o problema à fonte de dados que falha o pedido (consulte o guia de determinação de problemas para obter os procedimentos a serem seguidos para identificar a fonte de dados falha) e examine as restrições de faixa de dados para essa fonte de dados.
sqlcode: -405
sqlstate: 42820
SQL0406N | Um valor numérico na instrução UPDATE ou INSERT não pertence ao intervalo de sua coluna de destino. |
Explicação: O valor de uma variável do host ou de um valor numérico calculado durante o processamento da instrução UPDATE ou INSERT SQL está fora do intervalo da coluna de destino. Este problema pode ser causado pelos valores que ocorrem na coluna objeto, pela operação SQL executada com estes valores, ou ambos.
A instrução não pode ser processada.
Usuário responsável: Consulte a explicação da mensagem SQL0405 para obter os intervalos permitidos para tipos de dados numéricos.
NOTA: Para obter atualizações de catálogos do sistema, consulte o SQL Reference para obter os intervalos válidos nas diversas colunas de catálogos atualizáveis.
sqlcode: -406
sqlstate: 22003
SQL0407N | A atribuição de um valor NULL para uma coluna NOT NULL "<nome>" não é permitida. |
Explicação: Ocorreu uma das seguintes possibilidades:
Se o valor para "<nome>" estiver no formato "TBSPACEID=n1, TABLEID=n2, COLNO=n3", então o nome de coluna da instrução SQL não estava disponível quando o erro foi emitido. Os valores fornecidos identificam o tablespace, a tabela e o número da coluna da tabela base que não permite valor NULO.
Usuários do sistema federado: esta situação pode ser detectada pelo servidor federado ou pela fonte de dados. Algumas fontes de dados não fornecem os valores apropriados para o "<nome>". Nestes casos o token da mensagem terá o seguinte formato: "<fonte de dados>:UNKNOWN", indicando que o valor real da fonte de dados especificada é desconhecido.
A instrução não pode ser processada.
Nota: | Em algumas circunstâncias, o token "<nome>" pode não ser preenchido (campo sqlerrmc do SQLCA não preenchido). |
Usuário responsável: Corrija a instrução do SQL após examinar a definição de tabela de objeto para determinar quais colunas da tabela possuem o atributo NOT NULL e não possuem o atributo WITH DEFAULT.
Se o valor para "<nome>" estiver no formato "TBSPACEID=n1, TABLEID=n2, COLNO=n3", você poderá determinar o nome da tabela e o nome da coluna usando a seguinte consulta:
SELECT C.TABSCHEMA, C.TABNAME, C.COLNAME FROM SYSCAT.TABLES AS T, SYSCAT.COLUMNS AS C WHERE T.TBSPACEID = n1 AND T.TABLEID = n2 AND C.COLNO = n3 AND C.TABSCHEMA = T.TABSCHEMA AND C.TABNAME = T.TABNAME
A tabela e a coluna identificada por esta consulta pode ser a tabela base de uma view para a qual a instrução SQL falhou.
Usuários do sistema federado: se a razão for desconhecida, isole o problema à fonte de dados que apresentou falha do pedido (consulte o guia de determinação de problemas para obter procedimentos a serem seguidos para identificar a fonte de dados com falha) e examine a definição do objeto para essa fonte de dados. Lembre-se que os padrões (NULL e NOT NULL) não são necessariamente iguais entre as fontes de dados.
sqlcode: -407
sqlstate: 23502
SQL0408N | Um valor não é compatível com o tipo de dados do destino da atribuição. O nome de destino é "<nome>". |
Explicação: O tipo de dados do valor a ser atribuído à coluna, parâmetro, variável SQL ou variável de transição pela instrução SQL é incompatível com o tipo de dados do destino da atribuição. Ambos devem ser:
A instrução não pode ser processada.
Usuário responsável: Examine a instrução e possivelmente a tabela de destino ou view para determinar o tipo de dados de destino. Verifique se o valor da variável, da expressão ou do literal atribuído contém o tipo de dados adequado ao destino da atribuição.
sqlcode: -408
sqlstate: 42821
SQL0409N | O operando de uma função COUNT não é válido. |
Explicação: Da maneira como está especificado na instrução SQL, o operando da função COUNT não obedece às regras da sintaxe do SQL. Somente COUNT(*) e COUNT(DISTINCT coluna) são permitidos.
A instrução não pode ser processada.
Usuário responsável: Especifique COUNT(*) ou COUNT(coluna DISTINCT).
NOTA: Esta mensagem só se aplica a versões do DB2 anteriores à Versão 2.
sqlcode: -409
sqlstate: 42607
SQL0410N | O literal de ponto flutuante "<literal>" contém mais de 30 caracteres. |
Explicação: O literal de ponto flutuante especificado contém mais de 30 caracteres, excluindo-se os zeros à esquerda. Um literal de ponto flutuante possui o comprimento máximo de 30 caracteres.
A instrução não pode ser processada.
Usuário responsável: Diminua o literal especificado.
sqlcode: -410
sqlstate: 42820
SQL0412N | Várias colunas retornaram de uma subconsulta que tem permissão somente de uma coluna. |
Explicação: No contexto da instrução SQL, está especificada uma seleção completa que pode ter somente uma coluna como resultado.
A instrução não pode ser processada.
Usuário responsável: Especifique somente uma coluna quando for permitida uma seleção completa escalar.
sqlcode: -412
sqlstate: 42823
SQL0413N | Ocorreu um estouro durante a conversão do tipo de dados numérico. |
Explicação: Durante o processamento da instrução SQL, ocorreu uma condição de estouro durante a conversão de um tipo numérico em outro. A conversão numérica é executada de acordo com as regras padrão do SQL.
Usuários do sistema federado: a conversão numérica pode ocorrer no servidor federado, nas fontes de dados ou em ambos.
A instrução não pode ser processada. Nenhum dado foi recuperado, atualizado nem eliminado.
Usuário responsável: Examine a sintaxe da instrução SQL para determinar a causa do erro. Se o problema depender de dados, poderá ser necessário examinar os dados processados no momento do erro.
Usuários do sistema federado: se a razão for desconhecida, isole o problema à fonte de dados que falha o pedido (consulte o guia de determinação de problemas para obter os procedimentos a serem seguidos para identificar a fonte de dados falha) e examine as restrições de faixa de dados para essa fonte de dados.
sqlcode: -413
sqlstate: 22003
SQL0415N | Os tipos de dados de colunas correspondentes não são compatíveis em uma seleção completa que inclui um operador de conjunto ou nas linhas múltiplas de uma cláusula VALUES de um INSERT ou seleção completa. |
Explicação: Há várias instruções onde esse erro pode ocorrer.
As colunas são incompatíveis por uma das seguintes razões:
Caso o tipo de dados de uma coluna for de caractere, data, hora, ou registro de tempo a coluna correspondente pode ser uma constante de cadeia de caractere.
A instrução não pode ser processada.
Usuário responsável: Corrija os nomes de coluna usados nas instruções SELECT ou as expressões na cláusula VALUES para que todas as colunas correspondentes sejam de tipos compatíveis.
sqlcode: -415
sqlstate: 42825
SQL0416N | Você não pode especificar uma coluna de resultado com mais de 254 bytes nas instruções SELECT ou VALUES conectadas por um operador de conjunto diferente de UNION ALL. |
Explicação: Uma das instruções SELECT ou VALUES conectadas por um operador de conjunto especifica uma coluna de resultado que tem mais de 254 bytes. As colunas de resultado VARCHAR ou VARGRAPHIC com mais de 254 bytes só podem ser usadas com o operador de conjunto UNION ALL.
A instrução não pode ser processada.
Usuário responsável: Use o operador UNION ALL em vez de UNION ou remova as colunas de resultado com mais de 254 bytes das instruções SELECT ou VALUES.
sqlcode: -416
sqlstate: 42907
SQL0417N | Uma cadeia de instrução a ser preparada contém marcadores de parâmetros como operandos do mesmo operador. |
Explicação: A cadeia de instrução especificada como objeto de PREPARE ou de EXECUTE IMMEDIATE contém um predicado ou expressão em que marcadores de parâmetros foram usados como operandos do mesmo operador sem uma especificação de CAST. Por exemplo:
? > ?
A instrução não pode ser processada.
Usuário responsável: Esta sintaxe não é suportada. Use uma especificação CAST para dar um tipo de dados a pelo menos um dos marcadores de parâmetros.
sqlcode: -417
sqlstate: 42609
SQL0418N | Uma instrução contém o uso de um marcador de parâmetro que não é válido. |
Explicação: Marcadores de parâmetros sem tipo não podem ser usados:
Marcadores de parâmetro nunca podem ser usados:
A instrução não pode ser processada.
Usuário responsável: Corrija a sintaxe da instrução. Se marcadores sem tipo não forem permitidos, use a especificação CAST para dar um tipo de dados ao marcador de parâmetro.
sqlcode: -418
sqlstate: 42610
SQL0419N | Uma operação de divisão decimal não é válida porque o resultado teria uma escala negativa. |
Explicação: Uma divisão decimal especificada não é válida porque resultará em uma escala negativa.
A fórmula usada internamente para calcular a escala do resultado da divisão decimal é:
Escala do resultado = 31 - np + ns - ds
onde np for a precisão de um numerador, ns é a escala do numerador, e ds é a escala do denominador.
Usuários do sistema federado: A divisão decimal pode ocorrer no servidor federado, nas fontes de dados ou em ambos. A divisão decimal especificada resulta em uma escala inválida para aquela fonte de dados.
A instrução não pode ser processada.
Usuário responsável: Examine e garanta a precisão e a escala de todas as colunas que possam participar de uma divisão decimal. Observe que um inteiro ou valor de inteiro pequeno pode ser convertido em um decimal para esse cálculo.
Usuários do sistema federado: se a razão for desconhecida, isole o problema à fonte de dados que falha o pedido (consulte o guia de determinação de problemas para obter os procedimentos a serem seguidos para identificar a fonte de dados falha) e examine as restrições de faixa de dados para essa fonte de dados.
sqlcode: -419
sqlstate: 42911
SQL0420N | Foi encontrado um caractere inválido em um argumento de cadeia de caracteres da função "<nome-da-função>". |
Explicação: A função "<nome-da-função>" possui um argumento de cadeia de caracteres que contém um caractere inválido em uma constante numérica SQL. A função pode ter sido chamada como resultado do uso da especificação CAST com "<nome-da-função>" como tipo de dados de destino. A função ou tipo de dados usado na instrução SQL pode ser sinônimo de "<nome-da-função>".
Se for especificado um caractere decimal na função DECIMAL, este é o caractere que deverá ser usado no lugar do caractere decimal padrão.
Usuário responsável: Certifique-se de que as cadeias de caracteres que estão sendo convertidas em tipos numéricos contenham apenas caracteres que sejam válidos em constantes numéricas SQL, usando o caractere decimal, se for especificado.
sqlcode: -420
sqlstate: 22018
SQL0421N | Os operandos de um operador de conjunto ou uma cláusula VALUES não possuem o mesmo número de colunas. |
Explicação: Os operandos de um operador de conjunto como UNION, EXCEPT ou INTERSECT devem ter o mesmo número de colunas. As linhas de uma cláusula VALUES devem ter o mesmo número de colunas.
A instrução não pode ser processada.
Usuário responsável: Altere a instrução SQL para que cada operando ou cada linha de uma cláusula VALUES tenha exatamente o mesmo número de colunas.
sqlcode: -421
sqlstate: 42826
SQL0423N | A variável do localizador LOB "<posição-da-variável>" não representa valor algum atualmente. |
Explicação: Uma variável localizadora está com erro. O valor de LOB não foi atribuído a ela ou o localizador associado à variável foi liberado.
Se for fornecida a "<posição-da-variável>", será dada a posição ordinal da variável com erro no conjunto de variáveis especificadas. Dependendo de quando o erro for detectado, o gerenciador de banco de dados pode não conseguir determinar a <posição-da-variável>.
Ao invés de uma posição ordinal, a "<posição-da-variável>" pode ter o valor "nome-da-função RETURNS", que significa que o valor do localizador devolvido da função definida pelo usuário identificada pelo nome-da-função está com erro.
Usuário responsável: Corrija o programa de forma que as variáveis localizadoras de LOB usadas na instrução SQL tenham valores de LOB válidos antes que a instrução seja executada. Um valor LOB pode ser atribuído a uma variável localizadora por meio de uma instrução SELECT INTO ou VALUES INTO ou de uma instrução FETCH.
sqlcode: -423
sqlstate: 0F001
SQL0426N | O commit dinâmico é inválido para o ambiente de execução da aplicação. |
Explicação: Uma aplicação executada em um ambiente do tipo CONNECT TYPE 2 ou Distributed Transaction Processing (DTP), tal como CICS, tentou executar uma instrução dinâmica SQL COMMIT. A instrução dinâmica COMMIT não pode ser executada neste ambiente.
Usuários do sistema federado: Não é possível executar as instruções COMMIT dinâmicas do SQL durante uma sessão de passagem.
Usuário responsável:
Usuários do sistema federado: Coloque no comentário a instrução COMMIT ou código como uma instrução estática. Em seguida, submeta o programa novamente.
sqlcode: -426
sqlstate: 2D528
SQL0427N | O rollback dinâmico é inválido para o ambiente de execução da aplicação. |
Explicação: Uma aplicação executada em um ambiente do tipo CONNECT TYPE 2 ou Distributed Transaction Processing (DTP), tal como CICS, tentou executar uma instrução dinâmica SQL ROLLBACK. A instrução SQL dinâmica ROLLBACK não pode ser executada neste ambiente.
Usuários do sistema federado: Não é possível executar as instruções ROLLBACK dinâmicas do SQL durante uma sessão de passagem.
Usuário responsável:
Usuários do sistema federado: Coloque no comentário a instrução ROLLBACK ou código como uma instrução estática. Em seguida, submeta o programa novamente.
sqlcode: -427
sqlstate: 2D529
SQL0428N | A instrução SQL só é permitida como uma primeira instrução de uma unidade de trabalho. |
Explicação: A instrução SQL que foi emitida é requerida para execução antes de qualquer outra instrução SQL que inicie uma unidade de trabalho. A seguir as possíveis situações:
Observe que a instrução DISCONNECT ALL faz com que o DISCONNECT seja dirigido para todas as conexões, de forma que o pedido irá falhar se alguma conexão violar as restrições acima.
Usuário responsável: Emita um COMMIT ou ROLLBACK antes de processar a instrução SQL. Se existir algum cursor WITH HOLD, será necessário fechá-lo. Se a instrução for SET INTEGRITY, remova a cláusula COMMIT THRESHOLD.
sqlcode: -428
sqlstate: 25001
SQL0429N | Foi ultrapassado o número máximo de localizadores LOB concorrentes. |
Explicação: O DB2 suporta no máximo 32.000 localizadores LOB simultâneos por unidade de trabalho.
Usuário responsável: Modifique o programa para que ele exija menos localizadores LOB concorrentes e tente novamente.
sqlcode: -429
sqlstate: 54028
SQL0430N | A função definida pelo usuário "<nome-da-função>" (nome específico "<nome-específico>") terminou de modo anormal. |
Explicação: Ocorreu um término anormal enquanto o UDF nomeado estava no controle.
Usuário responsável: O UDF precisa ser corrigido. Entre em contato com o autor do UDF ou com seu administrador de banco de dados. Enquanto não for corrigido, o UDF não deverá ser utilizado.
sqlcode: -430
sqlstate: 38503
SQL0431N | A função definida pelo usuário "<nome-da-função>" (nome específico "<nome-específico>") foi interrompida pelo usuário. |
Explicação: Ocorreu uma interrupção do usuário/cliente enquanto a UDF nomeada estava no controle.
Usuário responsável: Isso poderia indicar algum problema de UDF, como um loop ou espera infinitos. Se o problema persistir, (isso é, a necessidade de interromper resulta na mesma condição de erro), entre em contato com o autor do UDF ou com o administrador do banco de dados. Até que o problema seja resolvido, o UDF não deve ser usado.
sqlcode: -431
sqlstate: 38504
SQL0432N | Um marcador do parâmetro não pode ter o nome do tipo definido pelo usuário ou o nome de tipo de destino de referência "<nome-udt>". |
Explicação: Um marcador do parâmetro na instrução foi determinado como tendo o tipo definido pelo usuário "<nome-udt>" ou um tipo de referência com o tipo de destino "<nome-udt>" baseado no contexto no qual é utilizado. Um marcador de parâmetro não pode ter um tipo definido pelo usuário ou tipo de referência como seu tipo de dados, a menos que seja parte de uma atribuição (cláusula VALUES de INSERT ou cláusula SET de UPDATE) ou que esteja sendo feita a conversão explícita para um tipo de dados distinto ou tipo de dados de referência definido pelo usuário usando a especificação CAST.
A instrução não pode ser processada.
Usuário responsável: Use uma conversão explícita para o tipo de dados distinto definido pelo usuário para o marcador de parâmetros que são do tipo de dados distinto definido pelo usuário. Uma alternativa é converter as colunas que são tipos de dados definidos pelo usuário para seu tipo de dados de origem ou colunas correspondente que sejam tipos de dados de referência para seu tipo de representação correspondente.
sqlcode: -432
sqlstate: 42841
SQL0433N | O valor "<valor>" é muito longo. |
Explicação: O valor "<valor>" exige o truncamento pela função de ajuste ou conversão (interna) do sistema, que foi chamada para transformar o valor de alguma forma. O truncamento não é permitido onde este valor é usado.
O valor que está sendo transformado é um dos seguintes:
A instrução falhou.
Usuário responsável: Se "<valor>" for uma cadeia literal da instrução SQL, é extenso demais para o uso desejado.
Se "<valor>" não é uma cadeia literal, examine a instrução SQL para determinar onde está ocorrendo a transformação. A entrada na transformação é muito extensa, ou o destino muito pequeno.
Corrija o problema e execute novamente a instrução.
sqlcode: -433
sqlstate: 22001
SQL0434W | Um valor não suportado para a cláusula "<cláusula>" foi substituído pelo valor "<valor>". |
Explicação: O valor que foi especificado para a cláusula "<cláusula>" não é suportado e foi substituído pelo valor suportado identificado "<valor>".
Usuário responsável: Nenhuma alteração é necessária se o valor selecionado for aceitável. Senão, especifique um valor que seja válido para "<cláusula>" .
sqlcode: +434
sqlstate: 01608
SQL0435N | Uma SQLSTATE inválida "<sqlstate>" foi especificada na função RAISE_ERROR. |
Explicação: A SQLSTATE especificada na função RAISE_ERROR não se adequa às regras para uma SQLSTATE definida para aplicação.
Usuário responsável: Corrija a SQLSTATE especificada na função RAISE_ERROR. O SQLSTATE deve ser uma cadeia de caracteres com exatamente 5 caracteres. Ela deve ser do tipo CHAR definido com um comprimento de 5 ou do tipo VARCHAR definido com um comprimento de 5 ou mais. O valor SQLSTATE deve seguir as regras para SQLSTATEs definidos pela aplicação como se segue:
sqlcode: -435
sqlstate: 428B3
SQL0436N | Está faltando o caractere de terminação NULL na variável do host do tipo cadeia de caracteres terminada em NULL da linguagem C. |
Explicação: O valor de um código variável de entrada no host na linguagem de programação C exige um caractere terminador NULL no final da cadeia.
A instrução não pode ser processada.
Usuário responsável: Certifique-se de que o valor da variável de entrada no host termine com o caractere terminador NULL.
sqlcode: -436
sqlstate: 22024
SQL0437W | O desempenho desta consulta complexa pode ser abaixo de ótimo. Código de razão: "<código-de-razão>". |
Explicação: A instrução pode ter um desempenho abaixo de ótimo pois a complexidade de consulta exige recursos que não estão disponíveis ou foram encontradas condições limites de otimização. A lista de códigos de razão é a seguinte:
A instrução será processada.
Usuário responsável: Um ou mais do seguinte:
sqlcode: +437
sqlstate: 01602
SQL0438N | A aplicação apresentou erro com texto de diagnóstico: "<texto>". |
Explicação: Este erro ocorreu em resultado da execução de uma função RAISE_ERROR da instrução SIGNAL SQLSTATE em um disparador.
Usuário responsável: Consulte a documentação da aplicação.
sqlcode: -438
sqlstate: application-defined
SQL0439N | A função definida pelo usuário "<nome-de-função>" é implementada indiretamente pela função "<função-de-origem>" o que resultou no erro "<código-sql>". |
Explicação: A função "<nome-de-função>" foi referenciada na instrução do usuário. No entanto, como a cláusula SOURCE foi usada na definição desta função, resultou que esta função "<função-de-origem>" na verdade implementa a função. (Pode ser um caminho de definição direto ou indireto de "<nome-de-função>" para "<função-de-origem>".) Na hora da compilação, o encapsulador (código DB2 que age em nome de uma função) para "<função-de-origem>" retornou o erro identificado por "<código-sql>".
Usuário responsável: A situação real do erro precisa ser entendida melhor antes que uma ação corretiva possa ser tomada. Veja a explicação sobre "<código-sql>". Se "<função-de-origem>" for uma função interna, o "<código-sql>" deverá indicar o problema, como no caso em que a função interna está diretamente referenciada na instrução do usuário. Se "<função-de-origem>" for uma função definida pelo usuário, a mensagem provavelmente indicará um problema com um dos argumentos ou com o resultado da função.
Corrija o problema e tente novamente.
sqlcode: -439
sqlstate: 428A0
SQL0440N | Não foi encontrada função de nome "<nome-de-função>" com argumentos compatíveis no caminho da função. |
Explicação: Isto ocorre em uma referência à função "<nome-da-função>", sendo que "<nome-da-função>" pode referir-se a um método, quando o gerenciador de bancos de dados não consegue encontrar uma função ou método que pode usar para implementar a referência. Isso pode ocorrer por diversos motivos:
Usuário responsável: Corrija o problema e tente de novo. Isso pode envolver acesso a catálogo, alteração na instrução, a inclusão de novas funções e/ou a alteração no caminho da função.
sqlcode: -440
sqlstate: 42884
SQL0441N | Uso inválido da palavra-chave DISTINCT ou ALL com a função "<nome-de-função>". |
Explicação: Há algumas causas possíveis:
Usuário responsável:
Corrija o erro e tente novamente.
sqlcode: -441
sqlstate: 42601
SQL0442N | Erro ao referenciar a rotina "<nome-da-rotina>". O número máximo de argumentos permitidos (90) foi excedido. |
Explicação: Excesso de argumentos especificados na referência para a rotina "<nome-da-rotina>". O máximo permitido é de 90.
Usuário responsável: Corrija a instrução certificando-se de que foi usado o número correto de argumentos e tente novamente.
sqlcode: -442
sqlstate: 54023
SQL0443N | A rotina "<nome-da-rotina>" (nome específico "<nome-específico>") retornou um erro SQLSTATE com texto de diagnóstico "<texto>". |
Explicação: Um SQLSTATE do formato 38xxx retornou para o DB2 pela rotina "<nome-da-rotina>" (nome específico "<nome-específico>"), junto ao texto da mensagem "<texto>". A rotina poderia ser uma função ou um método definido pelo usuário.
Usuário responsável: O usuário precisará compreender o significado do erro. Consulte o Administrador de Banco de Dados ou o autor da rotina.
Os erros detectados pelas funções fornecidas pela IBM no esquema SYSFUN retorna o SQLSTATE 38552. A parte de texto da mensagem é assim:
SYSFUN:nn
onde nn é o significado do código de razão:
sqlcode: -443
sqlstate: 38xxx (o SQLSTATE retornado pela rotina).
SQL0444N | A rotina "<nome-da-rotina>" (nome específico "<nome-específico>") foi implementada com código na biblioteca ou caminho "<biblioteca-ou-caminho>", a função "<id-do-código-da-função>" que não pode ser acessada. Código de razão: "<código>". |
Explicação: O DBMS está tentando acessar o corpo do código que implementa a rotina "<nome-da-rotina>" (nome específico "<nome-específico>") e não consegue acessá-lo devido à razão fornecida pelo código de razão "<código>" (os códigos estão relacionados abaixo). O arquivo que implementa a rotina é identificado por "<biblioteca-ou-caminho>" e a função pela "<id-do-código-da-função>".
(Note que estes dois últimos tokens podem ser truncados, devido a limitações no comprimento total do token que pode ser fornecido. Se isso acontecer, então poderá ser necessário acessar a definição da rotina nos catálogos para determinar a biblioteca ou caminho completo e id do código da função que foram definidos para a rotina).
Usuário responsável: Fornecido para cada código de razão:
No OS/2 este código de razão surge se o nome da DLL de UDF for maior que o formato (8.3). Por exemplo um nome de "abcdefgh99.dll" possui o formato (10.3) e resultaria nesta mensagem com código de razão 4. A solução é alterar o nome para uma forma aceitável, por exemplo "abcdef99.dll".
Além do exposto cima, este código de razão poderá ocorrer se a rotina precisar de uma biblioteca compartilhada ou DLL e não for possível localizar a biblioteca compartilhada (utilizando a reunião de diretórios especificados na variável de ambiente LIBPATH em sistemas baseados em UNIX, a variável de ambiente PATH em sistemas INTEL). Podem haver vários níveis disto envolvidos, conduzindo a este código de razão. Por exemplo, o corpo da rotina X pode ser encontrado e ela precisa da biblioteca compartilhada Y que também pode ser encontrado. Mas o Y precisa do Z, e o Z não pode ser localizado, e isto irá resultar no código de razão SQL0444N 4.
Se for impossível diagnosticar o erro através das informações nesta mensagem, o arquivo de log de diagnóstico, db2diag.log, contém as informações sobre a falha que poderão ajudar a isolar o problema. Talvez seja necessário entrar em contato com o administrador do sistema para obter auxílio.
Usuários do sistema federado: se esta função definida pelo usuário for um gabarito de função (e nenhum código for necessário para residir no servidor federado), será necessário considerar a modificação da instrução SQL ou das estatísticas para permitir que esta função seja avaliada na fonte de dados remota.
sqlcode: -444
sqlstate: 42724
SQL0445W | O valor "<valor>" foi truncado. |
Explicação: O valor "<valor>" exige o truncamento por uma função de conversão ou ajuste (interna) do sistema, que foi chamada para transformar o valor de alguma forma. Esta é uma situação de advertência.
O valor que está sendo transformado é a saída de uma rotina (função ou método definido pelo usuário (UDF)) e está sendo transformado devido a uma especificação CAST FROM na definição da rotina ou porque o UDF origina-se em outra função e o resultado precisa ser transformado.
Usuário responsável: Certifique-se de que a saída é a esperada e que o truncamento não causou qualquer conseqüência imprevista
sqlcode: +445
sqlstate: 01004
SQL0447W | A instrução contém especificações redundantes que envolvem a cláusula "<cláusula>". |
Explicação: A palavra-chave "<cláusula>" foi incluída mais de uma vez na instrução. Esta é uma condição de advertência.
Usuário responsável: Se a redundância era intencional, ou se for constatado que não resultou em dano, então não é necessária nenhuma resposta. O tipo de "dano" aludido poderia conter, por exemplo, a omissão de alguma palavra-chave desejada.
sqlcode: +447
sqlstate: 01589
SQL0448N | Erro na definição da rotina "<nome-da-rotina>". O número máximo de parâmetros permitidos (90 para funções e métodos definidos pelo usuário e 32767 para procedimentos armazenados) foi ultrapassado. |
Explicação: Foram especificado parâmetros em excesso na definição da rotina "<nome-da-rotina>". A instrução de definição da rotina pode ser CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (definição do método) ou ALTER TYPE (definição do método).
Usuário responsável: Altere a instrução para incluir menos parâmetros.
sqlcode: -448
sqlstate: 54023
SQL0449N | A instrução que define a rotina "<nome-da-rotina>" contém uma identificação de biblioteca/função formatada de modo inválido na cláusula EXTERNAL NAME. |
Explicação: Foi encontrado um erro na cláusula EXTERNAL NAME da instrução CREATE para a função definida pelo usuário (UDF), pelo método definido pelo usuário ou procedimento armazenado "<nome-da-rotina>". As regras para a identificação de biblioteca/função são as seguintes:
O nome assume a forma '<a>!<b>' ou '<a>'. Não são permitidas brancos entre aspas simples. <a> é um dos seguintes:
Se <b> for omitido, o padrão será o ponto de entrada definido quando o arquivo nomeado foi ligado. Se <b> estiver presente, ele identificará o ponto de entrada (função) dentro de <a> que será chamado como o corpo da rotina.
Usuário responsável: Corrija o problema e tente novamente. Uma causa possível é a inclusão de uma lacuna, ou ter '!' no início ou final do nome.
sqlcode: -449
sqlstate: 42878
SQL0450N | A rotina "<nome-da-rotina>" (nome específico "<nome-específico>") gerou um valor de resultado, valor de SQLSTATE, texto da mensagem ou scratchpad que é muito extenso. |
Explicação: Ao retornar da rotina "<nome-da-rotina>" (nome específico "<nome-específico>"), o DB2 detectou que retornavam mais bytes do que estavam alocados para um dos seguintes:
A definição do argumento de resultado na Rotina deve estar de acordo com o requisito para tipo de dados. Consulte o Application Development Guide para obter mais informações.
Isto não é permitido.
Este erro também retornará se o campo comprimento do scratchpad for alterado pela rotina.
Usuário responsável: Consulte o Administrador de Banco de Dados ou o autor da rotina.
sqlcode: -450
sqlstate: 39501
SQL0451N | A definição "<item-de-dados>", na instrução que define a rotina "<nome-da-rotina>", contém um tipo de dados "<tipo>" que não é adequado a uma rotina sem origem gravada na linguagem fornecida. |
Explicação: Foi feito um erro na parte "<item-de-dados>" da instrução que define a rotina "<nome-da-rotina>". A instrução do usuário continha o tipo inválido "<tipo>" ou um tipo definido pelo usuário (UDT) baseado no tipo inválido "<tipo>". A definição da rotina pode ser CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (definição do método) ou ALTER TYPE (definição do método).
"<item-de-dados>" é um token que identifica a área do problema na instrução. Por exemplo, "PARAMETER 2" ou "RETURNS" ou "CAST FROM".
Usuário responsável: Determine a situação que ocorreu e tome medidas corretivas. As ações corretivas possíveis incluem:
sqlcode: -451
sqlstate: 42815
SQL0452N | Impossível acessar o arquivo referenciado pela variável do host "<posição-da-variável>". Código de razão: "<código-de-razão>". |
Explicação: Encontrado um erro durante a tentativa de acesso ou durante o acesso ao arquivo referenciado pela variável "nth" do host, onde n = "<posição-da-variável>", pela razão fornecida por "<código-de-razão>". <posição-da-variável> é definida em 0 se a posição da variável do host não pode ser determinada. Os códigos de razão possíveis são os seguintes:
SQL_FILE_READ -ler de um arquivo existente SQL_FILE_CREATE -criar um novo arquivo para gravar SQL_FILE_OVERWRITE -sobrepor um arquivo existente. Se o arquivo não existir, criar o arquivo. SQL_FILE_APPEND -anexar a um arquivo existente. Se o arquivo não existir, criar o arquivo.
Usuário responsável:
Para o código de razão 01, corrija o comprimento do nome do arquivo, o nome do arquivo e/ou o caminho.
Para o código de razão 02, especifique uma opção de arquivo válida.
Para o código de razão 03, certifique-se de que o arquivo especificado existe antes de tentar acessar o arquivo.
Para o código de razão 04, exclua o arquivo se ele não for mais necessário ou especifique um nome de arquivo que não exista no momento.
Para o código de razão 05, certifique-se de que o usuário tem acesso (permissões corretas do arquivo) para o arquivo.
Para o código de razão 06, use um arquivo diferente ou, se o arquivo precisar ser acessado, modifique a aplicação para garantir que o arquivo não seja acessado concorrentemente.
Para o código de razão 07, elimine os arquivos desnecessários para liberar espaço em disco ou especifique um arquivo que resida em outro sistema de arquivos/unidades com suficiente espaço em disco. Garanta também que nenhum limite de tamanho de arquivo do sistema operacional ou do usuário seja ultrapassado. Se o página de código da sua aplicação usa esquema de codificação de vários bytes, é possível que apenas parte do último caractere tenha sido escrita, garanta que o arquivo contenha apenas caracteres totalmente formados.
Para o código de razão 08, se um arquivo será usado para entrada, garanta que ele não será modificado antes que tenha sido inteiramente lido.
Para o código de razão 09, corrija todos os erros no meio em que o arquivo reside.
Para o código de razão 10, garanta que o arquivo contenha caracteres de vários bytes válidos, baseado no página de código da aplicação, ou submeta a solicitação durante a execução no mesmo página de código do conteúdo do arquivo.
para o código de razão 11, garanta que o suporte a conversão de caractere entre o página de código do arquivo, por exemplo, Japonês EUC, e o página de código gráfico da aplicação, por exemplo UCS-2, esteja instalado.
sqlcode: -452
sqlstate: 428A1
SQL0453N | Identificado um problema com a cláusula RETURNS na instrução que define a rotina "<nome-da-rotina>". |
Explicação: Foi identificado um problema na conversão do resultado da rotina "<nome-da-rotina>". O tipo de dados CAST FROM não pode ser convertido no tipo de dados RETURNS e deveria ser. Consulte o SQL Reference para obter informações sobre a conversão entre tipos de dados.
Usuário responsável: Altere a cláusula RETURNS ou CAST FROM para que o tipo de dados de CAST FROM seja conversível ao tipo de dados de RETURNS.
sqlcode: -453
sqlstate: 42880
SQL0454N | A assinatura fornecida na definição da rotina "<nome-da-rotina>" corresponde assinatura de alguma outra rotina que já existe no esquema ou para o tipo. |
Explicação: A assinatura de uma função consiste no nome da função, no número de parâmetros definidos para a função e numa lista ordenada dos tipos de parâmetros (sem considerar nenhum parâmetro dos tipos).
A assinatura de uma função consiste no nome do método, no tipo de assunto do método, no número de parâmetros definidos para o método e numa lista ordenada dos tipos de parâmetros (sem considerar nenhum parâmetro dos tipos).
A assinatura de um procedimento é composta pelo nome do procedimento e o número de parâmetros definidos para o procedimento (os tipos de dados não são considerados).
Neste caso:
A instrução não pode ser processada.
Usuário responsável: Determine se a rotina existente já oferece a funcionalidade desejada. Se não, a assinatura da rotina terá que ser alterada; por exemplo, alterando-se o nome da rotina.
sqlcode: -454
sqlstate: 42723
SQL0455N | Na rotina "<nome-da-rotina>", o nome do esquema "<nome-do-esquema1>" fornecido para o nome SPECIFIC não corresponde ao nome do esquema "<nome-do-esquema2>" da rotina. |
Explicação: Se o nome SPECIFIC for especificado em duas partes, a parte "<nome-esquema1>" deve ser igual à parte "<nome-esquema2>" do "<nome-da-rotina>". Observe que a parte "<nome-esquema2>" do "<nome-da-rotina>" pode ter sido especificada diretamente ou pode ter usado a ID de autorização padrão da instrução. Se a rotina for um método, "<nome-do-esquema>" refere-se ao nome do esquema do tipo de assunto do método.
Usuário responsável: Corrija a instrução e tente novamente.
sqlcode: -455
sqlstate: 42882
SQL0456N | Na definição da rotina "<nome-da-rotina>", o nome SPECIFIC "<nome-específico>" já existe no esquema. |
Explicação: O usuário forneceu um nome SPECIFIC explícito "<nome-específico>" na definição da rotina "<nome-da-rotina>", mas este nome já existe como nome SPECIFIC da função, método ou procedimento no esquema.
Usuário responsável: Escolha um novo nome SPECIFIC e tente novamente.
sqlcode: -456
sqlstate: 42710
SQL0457N | Um atributo da função, do método, do tipo de dados definido pelo usuário ou estruturado não pode ser chamado "<nome>" pois está reservado para uso do sistema. |
Explicação: A função definida pelo usuário, método ou tipo de dados definido pelo usuário ou tipo de dados estruturado, não pode ser criada porque o nome especificado é reservado para uso pelo sistema. Os nomes que não podem ser usados para nomes de função, nomes de tipo distinto, nomes de tipo estruturado ou nomes de atributo são:
"=","<",">",">=","<=","&=","&>",,"&<", "!=","!>","!<","<>", SOME, ANY, ALL, NOT, AND, OR, BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE, OVERLAPS, SIMILAR e MATCH.
Usuário responsável: Selecione um nome para o método da função, método, tipo de dados definido pelo usuário ou estruturado que não seja reservado para uso do sistema.
sqlcode: -457
sqlstate: 42939
SQL0458N | Numa referência à rotina "<nome-da-rotina>" por assinatura, não foi possível encontrar uma rotina correspondente. |
Explicação: Numa referência à função, método ou procedimento armazenado "<nome-da-rotina>" por assinatura, não foi possível encontrar nenhuma função, método ou procedimento armazenado.
Se for usado um tipo de dados que poderá aceitar um parâmetro, então parâmetro do tipo será opcional. Por exemplo, para CHAR(12), você pode especificar o parâmetro (CHAR(12) ou omiti-lo (CHAR()). Se especificar o parâmetro, o DBMS aceitará apenas uma correspondência exata no tipo de dados COM o parâmetro de tipo de dado. Se você omitir o parâmetro, o DBMS aceitará uma correspondência apenas com o tipo de dado. A sintaxe CHAR() fornece um modo de informar ao DBMS que ignore os parâmetros do tipo de dados ao encontrar uma função correspondente.
Observe também que nas instruções DROP FUNCTION/PROCEDURE e COMMENT ON FUNCTION/PROCEDURE, uma referência não qualificada está qualificada com a ID de autorização da instrução e este é o esquema onde o problema pode ser encontrado. Na cláusula SOURCE de uma função CREATE, a qualificação vem do caminho de função corrente. Neste caso, não há função correspondente no caminho inteiro.
Não é possível originar uma função nas funções internas COALESCE, NULLIF, NODENUMBER, PARTITION, RAISE_ERROR, TYPE_ID, TYPE_NAME, TYPE_SCHEMA, ou VALUE.
A instrução não pode ser processada.
Usuário responsável: As respostas possíveis incluem:
sqlcode: -458
sqlstate: 42883
SQL0461N | Um valor com tipo de dados "<tipo-de-dados-de-origem>" não pode ter o CAST feito para o tipo "<tipo-de-dados-de-destino>". |
Explicação: A instrução contém um CAST com o primeiro operando tendo um tipo de dados "<tipo-de-dados-de-origem>" para ser convertido para o tipo de dados "<tipo-de-dados-de-destino>". Esta conversão não é suportada.
Usuário responsável: Altere o tipo de dados da origem ou do destino para que a conversão seja suportada. Para os tipos de dados pré-definidos estes estão documentados no SQL Reference. Para uma conversão envolvendo um tipo distinto definido pelo usuário, a conversão pode ser apenas entre o tipo de dados básico e o tipo distinto definido pelo usuário ou de um tipo de dados que pode ser promovido do tipo de dados básico para o tipo distinto definido pelo usuário.
sqlcode: -461
sqlstate: 42846
SQL0462W | A rotina "<nome-da-rotina>" (nome específico "<nome-específico>") retornou um aviso SQLSTATE, com texto de diagnóstico "<texto>". |
Explicação: Um SQLSTATE do formato 01Hxx retornou para o DB2 pela rotina "<nome-da-rotina>" (com nome específico "<nome-específico>"), junto ao texto da mensagem "<texto>".
Usuário responsável: O usuário precisará compreender o significado da advertência. Consulte o administrador do banco de dados ou o autor da rotina.
sqlcode: +462
sqlstate: 01Hxx
SQL0463N | A rotina "<nome-da-rotina>" (nome específico "<nome-específico>") retornou um "<estado>" SQLSTATE inválido, com texto de diagnóstico "<texto>". |
Explicação: As SQLSTATE válidas que uma rotina pode retornar são 38xxx (erro), 38502 (erro) e 01Hxx (aviso). Esta rotina "<nome-da-rotina>" (nome específico "<nome-específico>") retornou um estado SQLSTATE "<estado>" inválido, junto ao texto da mensagem "<texto>". A rotina está com erro.
Usuário responsável: A rotina terá que ser corrigida. Consulte o administrador do banco de dados ou o autor da rotina. O significado da aplicação da SQLSTATE inválido também pode ser explicado pelo autor da rotina.
sqlcode: -463
sqlstate: 39001
SQL0464W | O procedimento "<proc>" devolveu "<num>" conjuntos de resultads da consulta, que excedem o limite definido "<inteiro>". |
Explicação: O procedimento de armazenamento nomeado pelo proc foi concluído normalmente. No entanto, excedeu o limite definido no número de conjuntos de resultados de consulta que o procedimento pode retornar.
As causas possíveis são as seguintes: O procedimento de armazenamento não consegue retornar conjuntos de resultados de números devido à limitações DRDA impostas pelo cliente. O cliente DRDA estabelece este limite com o ponto de código MAXRSLCNT DDM.
Usuário responsável: A instrução SQL foi bem-sucedida. O campo SQLWARN9 está definido em 'Z'.
sqlcode: +464
sqlstate: 0100E
SQL0465N | Impossível iniciar, inicializar ou comunicar com o processo do modo cercado. Código de razão "<código>". |
Explicação: Existe um problema relacionado ao sistema envolvido com a execução de uma rotina no modo restrito (função ou método definida pelo usuário). A natureza exata do problema é indicada pelo "<código>". Este NÃO é um problema do usuário. Os códigos de razão possíveis são:
Erros de processo da rotina
Erros de processo do agente
Usuário responsável: Consulte o administrador do Banco de Dados ou do Sistema.
sqlcode: -465
sqlstate: 58032
SQL0466W | O procedimento "<nome-do-procedimento>" retorna conjuntos de resultados "<número-de-resultados>" do procedimento armazenado. |
Explicação: Essa mensagem é retornada como um resultado de uma instrução CALL SQL. Ela indica que o procedimento armazenado "<nome-do-procedimento>" tem conjuntos de resultados "<número-resultados>" associados a ele.
A instrução foi concluída com êxito.
Usuário responsável: Nenhuma ação é necessária.
sqlcode: +466
sqlstate: 0100C
SQL0467W | O procedimento "<nome-do-procedimento>" inclui outro conjunto de resultados. Há um total de "<número-resultados>" conjuntos de resultados. |
Explicação: Essa mensagem é retornada como um resultado do fechamento de um cursor. Ela indica que outro conjunto de resultados existe para o procedimento armazenado "<nome-do-procedimento>" e o cursor foi reaberto no conjunto seguinte. Há um total de "<número-resultados>" conjuntos de resultados do procedimento armazenado.
A instrução foi concluída com êxito.
Usuário responsável: Nenhuma ação é necessária. As buscas podem prosseguir no próximo conjunto de resultados.
sqlcode: +467
sqlstate: 0100D
SQL0469N | O modo do parâmetro (IN, OUT ou INOUT) não é válido para um parâmetro no procedimento "<nome-do-procedimento>" com nome específico "<nome-específico>" (número do parâmetro "<número>", nome "<nome-do-parâmetro>"). |
Explicação: Ocorreu um dos seguintes erros:
Usuário responsável: Altere o atributo do parâmetro para INOUT ou o uso do parâmetro dentro do procedimento.
sqlcode: -469
sqlstate: 42886
SQL0470N | A rotina "<nome-da-rotina>" definida pelo usuário (nome específico "<nome-específico>") possui um valor nulo para o argumento "<argumento>" que não pôde ser passado. |
Explicação: A rotina possui um argumento de entrada com um valor nulo, porém ela foi definida com um estilo de parâmetro que não passa indicadores nulos ou o tipo de dados deste parâmetro não suporta valores nulos.
Usuário responsável: Se a rotina tiver que ser chamada com valores nulos, certifique-se de que o estilo do parâmetro e os tipos de entrada são capazes de aceitar um valor nulo. Para funções, a função pode também ser criada com "RETURNS NULL ON NULL INPUT".
sqlcode: -470
sqlstate: 39004
SQL0471N | A devida chamada da rotina "<nome>" falhou para razão "<código de razão>". |
Explicação: Uma rotina "<nome>" foi chamada no servidor DB2 Universal Database para OS/390. Falhou a chamada da rotina por causa da condição descrita pelo código de razão do DB2 "<código de razão>".
A instrução não pode ser executada. Uma mensagem DSNX9xx descreve o erro que deve ser exibido no console do sistema do MVS.
Usuário responsável: Consulte a documentação do servidor do DB2 Universal Database para OS/390 e corrija a condição descrita pelo código de razão do DB2.
sqlcode: -471
sqlstate: 55023
SQL0473N | Não pode ser criado um tipo de dados definido pelo usuário o mesmo nome com um identificador de um tipo pré-definido pelo sistema. |
Explicação: O nome do tipo de dados a ser criado possui um nome não qualificado que é igual ao tipo de dados do sistema pré-definido ou é BOOLEAN. Isso não é permitido. Adicionar delimitadores não torna o nome válido.
A instrução não pôde ser processada.
Usuário responsável: Corrija a instrução para usar um outro identificador.
sqlcode: -473
sqlstate: 42918
SQL0475N | Não pode ser feita a conversão do tipo de resultado "<tipo-1>" da função SOURCE para o tipo RETURNS "<tipo2>" da função definida pelo usuário "<nome-da-função>". |
Explicação: Para que o CREATE de uma função definida pelo usuário (UDF) de origem seja válido, o tipo de resultado ("<tipo-1>") da função de origem deve ser passível de conversão para o tipo RETURNS ("<tipo-2>") da função que está sendo criada. Não há conversão suportada entre estes tipos de dados. Consulte o SQL Reference para obter informações sobre a conversão entre tipos de dados.
Usuário responsável: Altere o tipo de dados de RETURNS ou a identificação da função SOURCE para que o tipo resultado da função SOURCE seja conversível ao tipo de dados de RETURNS.
sqlcode: -475
sqlstate: 42866
SQL0476N | Feita referência à rotina "<nome-da-função>" sem uma assinatura, mas a rotina não é exclusiva neste esquema. |
Explicação: Referências a uma função ou procedimento de armazenamento sem uma assinatura são permitidas, porém a função nomeada ou o procedimento de armazenamento "<nome-de-função>" devem ser exclusivo em seu esquema e, neste caso, não é. Se a rotina for um método, uma referência sem uma assinatura será permitida, mas este método nomeado deverá ser exclusivo para o tipo de dados.
Observe que nas instruções DROP FUNCTION/PROCEDURE e COMMENT ON FUNCTION/PROCEDURE, uma referência não qualificada está qualificada com a ID de autorização da instrução e este é o esquema onde o problema pode ser encontrado. Na cláusula SOURCE de um CREATE FUNCTION, a qualificação vem do caminho da função atual. Neste caso, o primeiro esquema no caminho que continha uma função com este nome tinha outras funções com o mesmo nome.
Usuários do sistema federado: Para uma sessão atravessar, se a instrução for uma instrução CREATE FUNCTION MAPPING, este erro indica que foi feita uma tentativa de criar uma função que mapeia a partir de uma função remota para mais de uma função local.
Usuário responsável: Corrija a referência de uma das seguintes formas:
e tente novamente.
sqlcode: -476
sqlstate: 42725
SQL0478N | O tipo de objeto "<tipo-de-objeto1>" não pode ser eliminado porque existe um objeto "<nome-de-objeto>", do tipo "<tipo-de-objeto>", que depende dele. |
Explicação: O objeto de base, o qual é um objeto do tipo "<tipo1-de-objeto>" não pode ser eliminado por que outro objeto depende dele. Há uma dependência restrita definida com objetos do tipo "<tipo2-de-objeto>" (do qual o objeto "<nome-do-objeto>" é um exemplo).
Pode ser que a dependência seja indireta. Isso é, o objeto nomeado é dependente de um outro objeto que é dependente do objeto que está sendo eliminado.
Por exemplo:
Usuário responsável: Não elimine esse objeto ou elimine os objetos dependentes primeiro.
sqlcode: -478
sqlstate: 42893
SQL0480N | O procedimento "<nome-do-procedimento>" ainda não foi chamado. |
Explicação: O procedimento identificado numa instrução ASSOCIATE LOCATORS ainda não foi chamado dentro do processo da aplicação ou foi chamado, mas ocorreu um commit explícito ou implícito antes da instrução.
Usuário responsável: Corrija as instruções para que a sintaxe exata usada para especificar o nome do procedimento na instrução CALL seja a mesma que aquela na instrução ASSOCIATE LOCATORS. Se um nome incompleto for usado para CHAMAR o procedimento, o nome de uma parte também será usado nas outras instruções. Emita as instruções novamente.
sqlcode: -0480
sqlstate: 51030
SQL0481N | A cláusula GROUP BY contém "<elemento 1>" aninhado dentro do "<elemento 2>". |
Explicação: Os seguintes tipos de encadeamento não são permitidos dentro de uma cláusula GROUP BY:
onde GEL representa o elemento mostrado como lista-expressão-agrupamento no diagrama da sintaxe da cláusula GROUP BY.
Em algumas instâncias o valor "---" será mostrado para o "<elemento 2>". Neste caso, "---" representa um de CUBE, ROLLUP, GROUPING SET ou GEL.
A instrução não pode ser processada.
Usuário responsável: Modifique a cláusula GROUP BY para remover o encadeamento.
sqlcode: -481
sqlstate: 428B0
SQL0483N | O número de parâmetros na instrução CREATE para função definida pelo usuário "<nome-de-função>" não corresponde ao número de parâmetros da função SOURCE. |
Explicação: Está havendo uma tentativa de criar uma função definida pelo usuário "<nome-de-função>" que tem origem em outra função. Uma das seguintes situações foi identificada:
Usuário responsável: O número de parâmetros para a função SOURCE e para a função que está sendo criada deve ser o mesmo. A identificação da função SOURCE precisa ser alterada, para
Também é possível que o caminho da função precise ser corrigido para que ocorra a resolução correta da função.
sqlcode: -483
sqlstate: 42885
SQL0486N | O tipo de dados BOOLEAN só é suportado internamente no momento. |
Explicação: Um ou mais dos tipos de dados na instrução é BOOLEAN. Isso não é suportado na versão atual do DB2.
Usuário responsável: Altere os tipos de dados e depois submeta a instrução novamente.
sqlcode: -486
sqlstate: 42991
SQL0487N | A rotina "<nome-da-rotina>" (nome específico "<nome-específico>") tentou executar uma instrução SQL. |
Explicação: O programa usado para implementar o corpo de uma rotina não é permitido para executar instruções SQL. Esta rotina "<nome-da-rotina>" (nome específico "<nome-específico>") contém instruções SQL.
Usuário responsável: Remova as instruções SQL e depois recompile o programa. Verifique o nível do SQL permitido como especificado na instrução que define a rotina.
sqlcode: -487
sqlstate: 38001
SQL0489N | A função "<nome-de-função>" em um item de lista SELECT ou VALUES produziu um resultado BOOLEAN. |
Explicação: A função "<nome-de-função>" é definida para uso como um predicado, e retorna um resultado booleano. Resultados como este não são válidos em uma lista de seleção.
A instrução não pode ser processada.
Usuário responsável: Corrija o nome da função ou remova o uso da função.
sqlcode: -489
sqlstate: 42844
SQL0491N | A definição da rotina "<nome-da-rotina>" deve ter uma cláusula RETURNS e uma destas: a cláusula EXTERNAL (com outras palavras-chave requeridas); a instrução RETURN ou a cláusula SOURCE. |
Explicação: Está faltando uma cláusula obrigatória na definição da rotina "<nome-da-rotina>". Se foi especificado EXTERNAL, então também será preciso especificar o seguinte: LANGUAGE, PARAMETER STYLE, DETERMINISTIC ou NOT DETERMINISTIC, NO SQL e EXTERNAL ACTION ou NO EXTERNAL ACTION.
Usuário responsável: Inclua a cláusula que está faltando e tente novamente.
sqlcode: -491
sqlstate: 42601
SQL0492N | Existe um problema na CREATE para a função definida pelo usuário "<nome-de-função>", com o parâmetro número "<número>". Ele pode envolver uma não-correspondência com a função SOURCE. |
Explicação: O parâmetro na posição "<número>" da função "<nome-de-função>" está errado e CREATE não pode ser executado. O parâmetro na posição "<número>" da função de origem não é conversível ao parâmetro correspondente da função que está sendo criada.
Usuário responsável: As ações corretivas possíveis incluem:
sqlcode: -492
sqlstate: 42879
SQL0493N | A rotina "<nome-da-rotina>" (nome específico "<nome-específico>") retornou um valor de data, hora ou de registro de tempo que é sintática ou numericamente inválido. |
Explicação: O corpo da função definida pelo usuário (UDF) ou método "<nome-da-rotina>" (nome específico "<nome-específico>") retornou um valor inválido de data, hora ou registro de tempo.
Um exemplo de valor de data sintaticamente inválido é '1994-12*25': o '*' deveria ser '-'. Um exemplo de valor de hora numericamente inválido é '11.71.22': não há 71 minutos em uma hora.
Usuário responsável: A rotina precisa ser corrigida. Consulte o DBA ou o autor da rotina.
sqlcode: -493
sqlstate: 22007
SQL0495N | O custo estimado do processador "<custo-estimado1>" em segundos do processador ("<custo-estimado2>" em unidades de serviço) na categoria custo "<categoria-custo>" excede um limitar de erro de limite do recurso de "<quantidade-limite>" em unidades de serviço. |
Explicação:
A preparação de uma instrução SQL dinâmica, INSERT, UPDATE, DELETE ou SELECT resultoou em uma estimativa de custo que excedeu o valor de limiar de erro na tabela de especificação de limite do recurso (RLST).
Este erro também é emitido se o valor da categoria de custo do DB2 para "B" e a ação padrão especificada na coluna RLF_CATEGORY_B no RLST emitir um erro.
A preparação da instrução dinâmica INSERT, UPDATE, DELETE ou SELECT foi malsucedida.
Usuário responsável: Se este SQLCODE foi retornado porque o valor da categoria de custo é "B", pode ser porque a instrução esteja utilizando marcadores do parâmetro ou que algumas estatísticas não estejam disponíveis para as tabelas e colunas referenciadas. Certifique-se de que administrador tenha executado o utilitário RUNSTATS nas tabelas referenciadas. É possível também que UDFs serão chamados quando a instrução for executada ou para instruções INSERT, UPDATE ou DELETE que ativadas são definidas na tabela alterada. Verifique o registro DSN_STATEMNT_TABLE ou IFCID 22 desta instrução para descobrir as razões que esta instrução SQL foi colocada na categoria de custo "B". Se não for possível alterar o programa, ou se não for possível obter as estatísticas, solicite ao administrador para alterar o valor na coluna RLF_CATEGORY_B no RLST para "Y", o qual permite que a instrução seja executada ou "W" que retorna um aviso, em vez de um erro.
Se o aviso for causado por uma instrução SQL que esteja consumindo muitos recursos do processador, tente regravar a instrução para executar com mais eficiência. Outra opção é solicitar ao administrador para aumentar o valor limite do erro no RLST.
sqlcode: -495
sqlstate: 57051
SQL0499N | O cursor "<nome-do-cursor>" já foi atribuído para este ou outro conjunto de resultados do procedimento "<nome-do-procedimento>". |
Explicação: Foi feita uma tentativa de atribuir um cursor para um conjunto de resultados mas vários cursores foram alocados para o procedimento "<nome-do-procedimento>"
Usuário responsável: Determine se o conjunto de resultados de destino foi atribuído anteriormente a um cursor. Se vários cursores que foram alocados para o procedimento "<nome-do-procedimento>", certifique-se de que apenas um cursor seja utilizado para processar os conjuntos de resultados de um procedimento de armazenamento.
sqlcode: -499
sqlstate: 24516