[Lazarus-es] M?s dudas
Ismael L. Donis Garc?a
ismael en citricos.co.cu
Mie Nov 25 15:36:33 CET 2009
Claudio ha sido de gran ayuda esto, pero como dices tiene un gran problema,
y es que siempre entonces tendría el IP del router y no el de la PC cliente.
De todos modos me es explicado una cosa para mi muy importante. Solo
faltaría ver si era posible obtener el IP de la PC y no el del router.
Saludos Cordiales
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original -----
De: "Claudio Romero" <clauslack en gmail.com>
Para: "Spanish version of Lazarus List"
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: martes, 24 de noviembre de 2009 06:04
Asunto: Re: [Lazarus-es] M?s dudas
Bueno en Firebird (funciona en Firebird >=2.1) creas la tabla.
CREATE TABLE LOG_INGRESOS_SALIDAS
(
CODIGO Integer NOT NULL,
USUARIO Varchar(31),
ROL Varchar(31),
FECHA Date,
HORA Time,
ACCION Char(1),
CONECCION Integer,
IP_REMOTO Varchar(253),
PROCESO_REMOTO Varchar(253),
PRIMARY KEY (CODIGO)
);
El generador donde almacena el valor del campo clave (lo hace
flamerobin) si quieres campo clave.
CREATE GENERATOR GEN_LOG_INGRESOS_SALIDAS_ID;
El trigger para el campo clave.(lo hace flamerobin automaticamente) si
quieres campo clave.
SET TERM ^ ;
CREATE TRIGGER LOG_INGRESOS_SALIDAS_BI FOR LOG_INGRESOS_SALIDAS ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CODIGO IS NULL) THEN
NEW.CODIGO = GEN_ID(GEN_LOG_INGRESOS_SALIDAS_ID, 1);
END^
SET TERM ; ^
El trigger cuando se conecta algun usuario.
SET TERM ^ ;
CREATE TRIGGER AL_CONECTAR ACTIVE
ON CONNECT POSITION 0
AS
declare variable IP_remoto varchar(253);
declare variable proceso_remoto varchar(253);
BEGIN
for select m.MON$REMOTE_ADDRESS,m.MON$REMOTE_PROCESS
from MON$ATTACHMENTS m where m.MON$ATTACHMENT_ID = CURRENT_CONNECTION
into :IP_remotO,:proceso_remoto
do
insert into LOG_INGRESOS_SALIDAS(usuario, fecha, hora,
accion,coneccion,rol,IP_remoto,proceso_remoto)
values(current_user, current_date, current_time,
'I',current_connection,current_role,:IP_remotO,:proceso_remoto);
END^
SET TERM ; ^
El trigger cuando se desconecta
SET TERM ^ ;
CREATE TRIGGER AL_DESCONECTAR ACTIVE
ON DISCONNECT POSITION 0
AS
begin
insert into LOG_INGRESOS_SALIDAS(usuario, fecha, hora,
accion,rol,coneccion)
values(current_user, current_date, current_time,
'S',current_role,current_connection);
END^
SET TERM ; ^
El ip es del paquete que se conecta al servidor de SQL, si tienes un
router en el medio, vas a obtener el ip del router.
Saludos.
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
More information about the Lazarus-es
mailing list