Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Capturar user y PC en Oracle (https://www.clubdelphi.com/foros/showthread.php?t=15124)

Sostratov 11-10-2004 22:16:40

Capturar user y PC en Oracle
 
Hola amigos,

quiero capturar el OSuser y la PC .. se que en v$ssesion tengo esa informacion, pero no me es practico para lo que quiero hacer.
Quiero llenar registros de auditoria (log) en una tabla creada por mi.. y en cualquier momento saber quien inserta o modifica registros.

Como siempre le estare agradecido por su ayuda,

gracias

aglopez 21-10-2004 17:32:48

Mira el siguiente ejemplo
 
Este es un disparador de BD que tengo creado para auditar
unos cambios en la tabla ARTICULOS

A ver si es esto lo que estabas buscando.

Código SQL [-]
CREATE OR REPLACE TRIGGER "GESTION".CAMBIO_ARTICULOS
  BEFORE UPDATE
  ON ARTICULOS FOR EACH ROW
WHEN ( (OLD.ACTIVO<>NEW.ACTIVO) OR
       (OLD.INTERNET<>NEW.INTERNET) OR
       (OLD.TIPO_EVAL<>NEW.TIPO_EVAL) )
DECLARE
  FEC DATE;
  N INTEGER;
  MODU VARCHAR2(50);
  MAC VARCHAR2(40);
BEGIN
  SELECT SUBSTR(MACHINE,1,40) INTO MAC
  FROM V$SESSION
  WHERE AUDSID=USERENV('SESSIONID');
  BEGIN
    SELECT MODULO_ACTUAL INTO MODU FROM USUARIOS WHERE LOGIN=MAC;
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      MODU:='DESCONOCIDO';
  END;
  INSERT INTO CAMBIO_ARTICULOS
  SELECT SYSDATE,MAC,MODU,:OLD.ID_ARTICULO,:OLD.ACTIVO,:NEW.ACTIVO,:OLD.INTERNET,
       :NEW.INTERNET,:OLD.TIPO_EVAL,:NEW.TIPO_EVAL FROM DUAL;
END;


La franja horaria es GMT +2. Ahora son las 14:08:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi