Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 8 anos, 3 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #108169
    Avatar de André SantosAndré Santos
    Participante

      Bom dia a todos,

      Estou com problema na hora de inserção de dados nas tabelas, possuo um banco com o Oracle 11G e um Client 11.2.0 na minha máquina, da onde estou tentado realizar alguns UPDATE. Toda vez que os dados possui acentuação, ele fica com interrogação para baixo e outros caracter totalmente diferente. Já tentei fazer o UPDATE com os clients 10 e 12 e o problema persiste, já tentei reinstalar o banco, alterar o character set e ambos possui o mesmo character set WE8MSWIN1252 e nada do problema resolver.

      Alguém já passou por isso e conseguiu resolver?

      Desde já agradeço.

      #108173
      Avatar de rmanrman
      Participante

        @André Santos

        Crie uma variável de ambiente NLS_LANG com o valor BRAZILIAN PORTUGUESE_BRAZIL.WE8MSWIN1252

        #108183
        Avatar photoJosé Laurindo Chiappa
        Moderador

          Não só isso, pode ter coisas a mais aí – André, para vc gravar e receber caracteres acentuados corretamente, NÃO SÓ realmente o banco de dados E o software client Oracle tem que ter o characterset apropriado MAS também o *** AMBIENTE DE EXECUÇÃO *** tem que ter o CODEPAGE correto : isto é, se o seu programa de comunicação com o database rodar em modo-texto (caso do sql*plus, por exemplo) LOGICAMENTE teu prompt de comandos TEM que ser corretamente configurado, no caso de Windows setando codepage E uma fonte que aceite acentos… Em https://jlc1967.wordpress.com/2015/02/25/nls-acentuacao-e-outros-misterios-de-localizacao-no-rdbms-oracle/ eu demonstro isso …

          OBVIAMENTE :

          => ** muitos ** outros programas de comunicação com o banco (ie, TOAD, SQL Developer, PL/SQL developer, e muitos mais) existem : NEM TODOS se configura NLS com as variáveis de ambiente NLS_xxxx : QUAL programa de comunicação com o banco vc está usando ??? Pois quando vc fala que “está fazendo UPDATE com o client Oracle 11 / 12” isso não faz sentido NENHUM, o client Oracle em si NÂO É CAPAZ de se comunicar com o banco por si só, vc TEM que ter junto algum PROGRAMA DE COMUNICAÇÂO, o sql*plus é o mais comum de se ter mas outros existem

          => o setting de NLS é ** ABSOLUTAMENTE INDEPENDENTE ** dos ajustes de Local do seu Sistema Operacional , absolutamente NADA impede que vc tenha um banco Oracle configurado para (digamos) língua portuguesa e characterset internacional num Sistema Operacional em Inglês, ou vice-versa

          Faça esses ajustes então e se ainda assim tiver problemas, PLZ nos diga : SE vc está logado no servidor Oracle ou não, exatamente Qual é o seu Sistema Operacional na máquina que vc está usando pra conectar no banco, Qual é o programa de comunicação que vc está usando, Versão do banco Exata E NOS MOSTRE a configuração de NLS e de ambiente de execução que vc fez, que a gente te orienta mais…

          []s

          Chiappa

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