Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #106689
    Avatar de robertoroberto
    Participante

      Boa tarde,

      estou gerando uma trigger para para deixar como default em duas sessoes o case sensitive em consultas sql, mas quando o usuario loga, não surti efeito, já concedi os grants de create any trigger, create any type, create operador, administer database trigger.
      Veja o script que criei:

      CREATE OR REPLACE TRIGGER myschema.after_logon
      AFTER LOGON ON DATABASE WHEN (USER = ‘myschema’)
      BEGIN
      EXECUTE IMMEDIATE ‘ALTER SESSION SET NLS_COMP=LINGUISTIC’;
      EXECUTE IMMEDIATE ‘ALTER SESSION SET NLS_SORT=BINARY_CI’;
      END;
      /
      =================================================================================================
      create or replace TRIGGER myschema.trg_after_logon
      AFTER LOGON ON myschema.SCHEMA
      BEGIN
      EXECUTE IMMEDIATE ‘ALTER SESSION SET NLS_COMP=LINGUISTIC’;
      EXECUTE IMMEDIATE ‘ALTER SESSION SET NLS_SORT=BINARY_CI’;
      END;

      #106690
      Avatar de Fábio PradoFábio Prado
      Participante

        @roberto,

        Atribua p/ o usuário a role RESOURCE e veja se funciona. Se não funcionar, poste aqui a mensagem de erro, ok? Se não estiver ocorrendo erro, force um erro dentro da trigger acrescentando o código abaixo para vc pelo menos ter certeza de que ela está sendo disparada no logon do usuário desejado:


        RAISE_APPLICATION_ERROR(-20001, 'Erro forçado ao disparar a trigger de logon');

        []s

        #106691
        Avatar de rmanrman
        Participante

          @roberto

          Tente da seguinte forma, crie a TRIGGER com o usuário que você quer aplicar a nova configuração.


          CREATE OR REPLACE TRIGGER "LOGON"
          AFTER
          LOGON
          ON SCHEMA
          BEGIN
          -- my source
          END;

          Só um detalhe, isso é bem perigoso caso já existe um sistema em produção. Se o sistema está nascendo agora, isso deve ser bem documentado. Ninguém espera o case sensitive como padrão.

          #106692
          Avatar de robertoroberto
          Participante

            Pedi para o desenvolvedor fazer os testes e continua do mesmo jeito. Não teve ação.

            Executei a Trigger Oracle Developer e apareceu a seguinte mensagem:

            Empty package TRG_AFTER_LOGON_ definition (no public members).

            #106693
            Avatar de robertoroberto
            Participante

              Já fiz essa tentativa e não surtiu efeito

              #106694
              Avatar de rmanrman
              Participante

                @roberto

                Acabei de testar aqui, lembrando que a TRIGGER é disparada depois do LOGON. Para testar é necessário desconectar e logar novamente.


                CREATE OR REPLACE TRIGGER "LOGON"
                AFTER
                LOGON
                ON SCHEMA
                BEGIN
                EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_COMP=LINGUISTIC';
                EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_SORT=BINARY_CI';
                END;

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