FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Procedimiento Almacenado para Auditoria
Que tal? estoy intentando hacer una auditoria para mi aplicacion en delphi, usando como motor de db a MYSQL.
Resulta que estoy buscando la forma de programar un script de forma tal que capture cualquier evento en mi base de dato (INSERT, UPDATE, DELETE) y poder recuperar los datos a operar en una tabla de auditoria. Hasta el momento llegue a la conclusion que no me sirve utilizar trigger, ya que necesito capturar el ID del usuario logueado el cual realiza la accion (INSERT, UPDATE, DELETE), y ese ID lo guardo en una variable publica en mi MAIN de la aplicacion en delphi, y hasta donde yo se, los triggers solo procesan datos con los que trabaja la tabla. Entonces, ya que uso SP para los inserts, probe realizar el siguiente script, y necesito la critica de los que verdaderamente saben (ustedes ) y que me digan que opinan al respecto, si conviene trabajar asi, si es factible en cuanto a velocidad de proceso, etc. Algo para tener en cuenta, mi aplicacion es para una oficina, en la cual son no mas de 12 terminales, 5 para consultas y no mas de 5 para ABM de datos, y 2 que administren. A continuacion les dejo mi SP
La estructura de las tablas que uso son las siguientes: acta *actanum *actaserie actafecha actahora actanumcalle offdni empresa_id vehicledom lugar_id causanum causafecha resolnum resolfecha pago_id fichanum causa *causanum *causafecha causaobs actabreach *actabreach_id (AI) actanum actaserie breach_id Agradeceria mucho su ayuda, y si no estoy en la seccion correspondiente, que me informen asi lo posteo donde corresponde. Saludos y Gracias |
#2
|
||||
|
||||
El uso de disparadores no estaría mal, estoy seguro que MySQL ha de manejar alguna función o variable para determinar que usuario está ejecutando la operación (en Firebird es Current_User). ¿No será que utilizas el mismo usuario de MySQL para todos los que trabajan con la aplicación?
Una alternativa del lado de Delphi es redefinir unos cuantos métodos de los componentes de acceso a datos, para "interceptar" todos los Inserts, Updates y Delete). ¿Qué tipos de objetos usas para llevar a cabo estas operaciones? Saludos. |
#3
|
|||
|
|||
Gracias por responder. Utilizo componentes ADO para la conexion los SP. Como puedo definir datos desde delphi para interceptar los INSERT UPDATE Y DELETES?. Saludos
|
#4
|
|||
|
|||
Cita:
|
#5
|
||||
|
||||
Cita:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx Cita:
Saludos. |
#6
|
|||
|
|||
Cita:
Muchas gracias por tu respuesta. La verdad nunca habia trabajado de esa manera. Tengo varios proyectos en PHP por ej. donde la conexion a la db es una sola, con un solo usuario y pass, y a partir de ese usuario se gestionan todas las acciones de los USUARIOS que se loguean en mi pagina. Voy a intentar crear un proyecto de prueba de la forma que me planteas y probar. Saludos y gracias ! |
#7
|
||||
|
||||
Comprendo elrodrix. En Delphi es un poco diferente, pero con la ventaja de que todo es posible.
No fue nada, ya nos dirás lo que se te vaya presentando. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Trigger dinámico para Auditoría de Tablas | jwmoreira | Firebird e Interbase | 6 | 11-03-2010 22:53:07 |
Procedimiento almacenado | Ledian_Fdez | SQL | 0 | 03-03-2010 15:38:18 |
Consejo para principiante sobre Disparador y Procedimiento almacenado | NPIdea | Firebird e Interbase | 5 | 18-06-2008 08:13:00 |
Procedimiento almacenado para obtener Rubros y subrubros | oliverinf | Firebird e Interbase | 7 | 27-08-2004 01:25:42 |
Procedimiento almacenado - BDE | Ricardo Alfredo | Conexión con bases de datos | 1 | 16-06-2003 21:31:34 |
|