Tente agora...

 

Não tenho privilégios suficientes para testar aqui :-p

 

[[]]'s

 

 

 

CREATE OR REPLACE 

TRIGGER controle_de_acesso AFTER LOGON ON DATABASE 

DECLARE

v_username     VARCHAR2(30):=NULL;

v_program      VARCHAR2(48):=NULL;

v_machine      VARCHAR2(64):=NULL;

var1          NUMBER(06);

va_usuario VARCHAR2(30):=NULL;

va_aplicacao VARCHAR2(12):=NULL;

va_estacao VARCHAR2(15):=NULL;

va_permissao CHAR(1) :=NULL;

  

BEGIN

  

SELECT COUNT(*) INTO var1 FROM v$session;

SELECT username, program, machine

INTO v_username, v_program, v_machine

FROM  sys.v_$session

WHERE audsid = USERENV('sessionid');

  

IF (v_username != 'SYSTEM') OR (v_username != 'OID')

THEN

 

SELECT usuario, aplicacao, estacao, permissao

INTO va_usuario, va_aplicacao, va_estacao, va_permissao

FROM OLD.acessos_teste;

    

END IF;

 

IF (va_usuario IS NULL) AND (va_aplicacao IS NULL)

THEN

dbms_output.put_line('Acesso não autorizado! Verifique com o administrador do 
sistema');

   

dms_lock.sleep(3);

END IF;

   

END;

/

 

 -----Original Message-----
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of 
Roberta Berrondo
Sent: Thursday, October 26, 2006 11:53 AM
To: Oracle; Oracle; Oracle; [EMAIL PROTECTED]
Subject: [oracle_br] ajuda em trigger

 

Caros colegas,
   
  Estou tendo dificuldades com uma trigger de logon e gostaria de contar com a 
ajuda de vcs. segue a trigger. qualquer luz no fim deste tunel será muito bem 
vinda.
   
   
  SQL> create or replace 
    2  TRIGGER controle_de_acesso AFTER LOGON ON DATABASE 
    3  DECLARE
    4     v_username     VARCHAR2(30):=null;
    5     v_program      VARCHAR2(48):=null;
    6     v_machine      VARCHAR2(64):=null;
    7     var1 number(06);
    8     va_usuario varchar2(30):=null;
    9     va_aplicacao varchar2(12):=null;
   10     va_estacao varchar2(15):=null;
   11     va_permissao char(1) :=null;
   12  
   13  BEGIN
   14  
   15   select count(*) into var1 from v$session;
   16    select username, program, machine
   17     into v_username, v_program, v_machine
   18     from  sys.v_$session
   19     where audsid = userenv('sessionid');
   20  
   21     if (v_username != 'SYSTEM') or (v_username != 'OID')
   22     then
   23  
   24      select usuario, aplicacao, estacao, permissao
   25    into va_usuario, va_aplicacao, va_estacao, va_permissao
   26      from oid.acessos_teste;
   27    
   28     end if;
   29  
   30      if (:va_usuario is null) and (:va_aplicacao is null)
   31      then
   32         dbms_output.put_line('Acesso não autorizado! Verifique com o 
administrador do sistema');
   
   33         dms_lock.sleep(3);
   34      end if;
   35     
   36  End;
   37  /
   
  Advertência: Gatilho criado com erros de compilação.
   
  SQL> show err
  Erros para TRIGGER CONTROLE_DE_ACESSO:
   
  LINE/COL ERROR
  -------- -----------------------------------------------------------------
  28/9     PLS-00049: variável de ligação 'VA_USUARIO' inválida
  28/35    PLS-00049: variável de ligação 'VA_APLICACAO' inválida
  SQL>
   
   
  Grata
  Roberta
   
  Roberta Berrondo
  Gerente de Projetos
  (61) 84140819

__________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]


 



[As partes desta mensagem que não continham texto foram removidas]




Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"
________________________________________________________________
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a