Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #74699
    Anônimo

      Ol? pessoal.

      Na minha aplica??o asp.net,
      eu uso o seguinte comando para configurar
      o Oracle como (case insensiteve e accent insensitve) pelo menos durante a session:

      ALTER SESSION SET NLS_COMP = ANSI
      ALTER SESSION SET NLS_SORT = BINARY_AI

      Ou seja,

      Se eu fizer um select do tipo:

      Select usuario_nome from usuarios
      Where usuario_nome like ‘%Jo?o%’

      resulta em:

      usuario_nome
      —————-
      JOAO CARLOS
      Jo?o Augusto
      jo?o Fernando
      joao da Silva

      Atualmente estou executando essas duas instru??es para ajustar os valores das v?riaveis NLS_COMP e NLS_NLS_SORT toda vez em que eu executo um comando SQL, do tipo Select, Insert, Update, ou Delele. Porque essa configura??o s? tem efeito enquanto estiver na mesma session.

      Eu quero saber como deixar os valores das v?riaveis NLS_COMP e NLS_NLS_SORT fixas no oracle. Eu quero deixar permanente, para n?o ter que mudar os valores dessas vari?veis (na session) toda vez que eu for executar um comando no Oracle.

      Aguardo por respostas, Obrigado.

      #74702
      Marcio68Almeida
      Participante

        Adicione essas linhas no init.ora, s? n?o tenho ceretza se ? a mesma sintaxe

        NLS_COMP = ANSI
        NLS_SORT = BINARY_AI

        #74704
        Anônimo

          Obrigado pela dica. assim que poss?vel vou testar:

          Mas eu passei o resultado da query, incorreto, quando eu coloquei um exemplo incorreto , quando eu lancei a pergunta no t?pico 😥 . No exemplo que eu passei o certo seria n?o retornar nenhum resultado, porque o operador like n?o funcionou como eu esperava.

          Segue um exemplo que testei.

          ALTER SESSION SET NLS_COMP = ANSI
          ALTER SESSION SET NLS_SORT = BINARY_AI

          SELECT texto FROM A_TESTES
          WHERE TEXTO = ‘japao’
          –Resultado:

          TEXTO

          JAP?O
          Japao

          SELECT texto FROM A_TESTES
          WHERE TEXTO LIKE ‘%japao%’
          –Resultado:

          TEXTO

          SELECT texto FROM A_TESTES
          WHERE TEXTO LIKE ‘%Japao%’
          –Resultado:

          TEXTO

          Japao

          Resumindo a compara??o case insensitive, funcionou quando usei o operador (=). Mas n?o funcionou usando (like).

          N?o tinha testado usando ‘like’ da primeira vez que eu perguntei . 🙁

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