Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #81661
    leo_jf
    Participante

      Blz Galera, tudo bem?
      Resolvi o problema, mas gostaria de saber o por que do erro, caso outro momento eu passe por esse mesmo erro.
      Tenho um script que roda em shell script e foi homologado pelo usuário em desenvolvimento. Executa normalmente em desenv.
      Hoje quando ela colocou em produção apareceu os seguintes erros:
      (SELECT cod_empr, cc.sgl_org, TO_CHAR(LPAD(cod_ccusto, 10, '0')) centro_c

      usto

      *

      ERROR at line 64:

      ORA-06550: line 64, column 38:

      PLS-00307: too many declarations of 'TO_CHAR' match this call

      ORA-06550: line 50, column 1:

      PL/SQL: SQL Statement ignored

      ORA-06550: line 99, column 8:

      PLS-00364: loop index variable 'REG_ORGAO' use is invalid

      ORA-06550: line 99, column 5:

      PL/SQL: Statement ignored

      ORA-06550: line 152, column 10:

      PLS-00364: loop index variable 'REG_ORGAO' use is invalid

      ORA-06550: line 152, column 7:

      PL/SQL: Statement ignored

      ORA-06550: line 163, column 9:

      PLS-00307: too many declarations of 'TO_CHAR' match this call

      Entre outros erros.
      Seguindo os erros, fui em todos os campos que tinha TO_CHAR e retirei.
      Logo depois rodou normalmente.
      Mas, o que é inexplicável, se teoricamente todos os ambientes são iguais – colunas, tipos…de produção e desenv. Por que quando rodei no desenv funcionou e prod não.
      Alguém ja teve esse tipo de problema?
      Pesquisei na net, e teve um cara que postou esse mesmo problema: no 9i conseguiu, mas em 8 não. Só que quem respondeu a postagem somente disse para tirar os TO_CHAR, mas não explicou o motivo disso acontecer.
      Se alguém souber, fico agradecido.
      []s e bom fim de semana para todos.

      #81665
      Ishii
      Participante

        Leo olá,

        As vezes que tive problemas com isso foram por causa dos Dados… havia alguns dados que estavam armazenados com o caracter vírgula (,) e com isso o resultado para o TO_CHAR ficaria alterado e para o TO_CHAR “foi passado” uma outra formatação inválida e com isso retornava a mensagem de erro… procure tentar dar uma “tratada” nos dados…. o ideal é usar um TRANSLATE e verificar se há estas “sujeiras” nos dados.

        []s Ishii

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.