Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #103629
    VictorFrei
    Participante

      Boa Noite Galera,
      Venho por meio desta compartilhar meu problema com todos vocês, e se possivel encontrarmos uma solução.
      A história é o seguinte:
      Desenvolvi uma aplicação de atualização e controle de versão de objetos em oracle.
      Em um determinado Periodo guardo todos os objetos alterados, e em um dia especial é gerado um pacote de atualização.
      O processo de atualização nos clientes é o seguinte:
      Busco o script na base de dados, salvo em um diretório no linux, depois dentro do PL-SQL uso uma classe java que faz a chamada do sqlplus p/ executar o script salvo no diretório do linux.
      Em alguns clientes isso funciona perfeitamente, porem em outros há uma bagunça nos caracteres especiais, impossibilitando de trabalhar com estes clientes.
      O mais estranho e se eu copiar o arquivo sql a e colar a linha no sql plus ela roda sem problemas. o erro so acontese no sqlplus quando uso @arquivo.sql localizando o arqiuvo a ser executado.
      Não sei se o sql plus utiliza outro charset desconhecido, ou se eu consigo interferir para setar algo especifico e colocar para funcionar a ferramenta.

      Por favor, Me Ajudem !!!

      #103631
      Douglas Paiva de Sousa
      Participante

        Isso parece ser problemas NLS_CHARACTERSET você já tentou forçar o uso de um determinado NLS_CHARACTERSET com um “alter session?

        Tente colocar no inicio do seu script.

        Att,

        #103648
        felipeg
        Participante

          Cara, tem um monte de informação faltando ai…

          • Quando executa o arquivo sql do linux, isso é feito pelo client no próprio linux ou é chamado de alguma outra estação?
          • Abrindo um arquivo direto pelo ssh, o mesmo aparece de forma correta?
          • Os testes “na mão” feitos por você estão sendo feitos da MESMA estação onde ocorre o problema?
          • Quando conectado nesta estação você já checou os parâmetros referentes ao NLS?

          Lembrando da ordem básica:

          Table 3-1 Methods of Setting NLS Parameters and Their Priorities

          1 (highest) Explicitly set in SQL functions
          2 Set by an ALTER SESSION statement
          3 Set as an environment variable
          4 Specified in the initialization parameter file
          5 Default

          Como você colocou na sua assinatura, você é OCP, ou seja, viu a parte de globalização, sugiro revisar.

          http://docs.oracle.com/cd/E11882_01/ser … 29/toc.htm
          http://docs.oracle.com/cd/B19306_01/ser … m#i1005949

          Atenciosamente,
          Felipe.

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