![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Disculpa mi torpeza pero existe algun hilo relativo a este tema de la tabla de log. La aplicacion se ejecuta en red y pueden haber accesos simultaneos a la tabla del servidor por eso aunque se validan los usuarios al entrar necesito saber cual es el usuario activo en cada caso, por eso habia pensado en guardar el nombre de usuario en algun tipo de variable global.
Gracias y disculpa estoy empezando con esto de Delphi. |
#2
|
|||
|
|||
Hola
Lo que el compañero te está diciendo es que crees una tabla en la que almacenes los datos que necesites (Nombre de usuario, fecha, etc), y pongas un disparador a la(s) tabla(s) que realicen la inserción en esa tabla, ejemplo:
Tabla Log Fecha Timestamp Usuario Varchar(8) etc ... Tabla Cliente Identificador integer Nombre varchar(30) Dirección varchar(50) etc ... Disparador
La versión nueva de Firebird (creo que la 2.1) permite además de disparar eventos al realizar acciones sobre tablas, dispara eventos al loguearse un usuario, al hacer commit, etc. ![]() Saludos |
#3
|
|||
|
|||
El problema es que yo los datos que quiero almacenar no es el current_user ya que este es el usuario de windows sino el usuario de la aplicacion y deseo cojer tambien el valor de algunos campos del registro modificado para poder hacer consultas posteriores sobre ellos. Habia pensado en usar un procedimiento almacenado y dispararlo en el evento onnewrecord o alguno parecido del IBDataset.
|
#4
|
|||
|
|||
hola
current_user te da el usuario logueado en la base de datos no el de windows.
Acordate que en los disparadores contás con las variables "new" y "old" para acceder a los valores de los campos (valores actuales y viejos) ![]() |
#5
|
|||
|
|||
Perdona tienes razon, current _user me da el usuario de la base de datos pero tampoco me vale ya que en la base de datos entro siempre con el usuario por defecto SYSDBA.
|
#6
|
||||
|
||||
Cita:
Cita:
Cita:
Me he mareado al intentar entenderte... no termino de comprender... Y si capturas el nombre mediante el uso de la api de windows como te comentan... y/o que uses current_user igualmente tienes en alguna variable o propiedad dicho nombre... Y como dijo mamaro... la solución pasa por allí: tiggers/procedimientos almacenados. Independientemente de donde captures el nombre de usuario, debes lanzar ya sea un tigger, un procedimiento almacenado... tu ves... Saludos, Última edición por Delphius fecha: 20-08-2007 a las 09:40:02. |
#7
|
|||
|
|||
En efecto tengo registrado al usuario en una tabla y una vez se valida quiero que cualquier modificacion que haga en cualquier tabla quede reflejada en una tabla de Log con el nombre de la tabla, la fecha, la hora y una serie de observaciones. Para ello lo que hago es pasar la variable global donde almaceno el nombre de usuario a las DLL que contienen el resto de procedimientos que manejan tablas dentro de la aplicacion y asi usarlo en cada momento que hago una modificacion de una tabla llamando a un procedimiento almacenado que realiza el mantenimiento de la tabla de Log. Lo que queria saber es si se puede guardar ese nombre de usuario en alguna variable global a la aplicacion estilo current_user para accediendo a ella evitarse todo esto.
Gracias y disculpen si me he explicado mal. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
accesos al disco duro | YolandaM | Windows | 2 | 11-07-2007 14:18:46 |
Problema con accesos telefonicos | fox | Varios | 0 | 05-03-2007 16:21:26 |
Control Errores en Firebird | joanajj | Firebird e Interbase | 3 | 01-06-2006 20:38:29 |
aplicaciones para tener un completo control de firebird 1.5 | ale21alito | Conexión con bases de datos | 2 | 02-04-2005 22:55:52 |
Control de cambios en Firebird | repo | Firebird e Interbase | 0 | 04-10-2004 22:20:57 |
![]() |
|