Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Insertar sentencia SQL despues de Insert,update o delete (https://www.clubdelphi.com/foros/showthread.php?t=75157)

vivamotos 28-07-2011 15:28:22

Tutorial auditar querys
 
Hola,

He oído que el firebird 2.5 lleva un sistema para auditar todo, pero no tengo ni idea de cómo configurarlo

Quería saber si podeís hacer un tutorial, mi idea es que toda inserción,updatación o borrado se guarde en un fichero log.

Solamente esto.

Grácias.

ContraVeneno 28-07-2011 17:54:01

¿"updatación"?... ¿eso es igual a una actualización o tiene más variables?, ¿tal vez sea una modificación?

Realmente no entendí a que te refieres con una herramienta de auditoría, ¿tendrás el nombre o algún otro detalle que nos pueda ayudar? ¿algún enlace a la página de firebird donde diga algo sobre esa herramienta?

Saludos

marcoszorrilla 28-07-2011 18:17:40

Perdón pero la palabrita me hace daño a los ojos, supongo que será una traducción defectuosa, como dice Contraveneno la palabra es actualización.

Un Saludo.

marcoszorrilla 28-07-2011 18:21:54

Cita:

Nuevas características de Firebird 2.5
● Nueva Arquitectura SuperClassic Firebird 2.5 introduce una nueva arquitectura, llamada
"SuperClassic", para obtener un mejor aprovechamiento de los entornos con hardware multi-core y
multi-CPU, optimizando el uso de recursos cuando hay bases de datos con un gran número de
usuarios y bases de datos enormes.
● Auditoría El rastreo de auditoría del sistema y el seguimiento de sesiones de usuario, vía API de
Servicios, le permitirá realizar monitoreo y análisis, casi en tiempo real de todo lo que sucede en
una bases de datos.
● Consultas entre bases de datos Firebird 2.5 abre el camino para que se pueda consultar una
base de datos Firebird desde otra e intercambien información entre sí
Supongo que te refieres al texto anterior, pero de momento no he encontrado como pueden realizarse dichas auditorias....

Un Saludo.

marcoszorrilla 28-07-2011 18:29:06

Cita:

Herramientas de FB : Liberada nueva versión de FB Trace Manager Enviado por admin el 23/7/2011 11:17:24 (33 Lecturas) FB TraceManager es la única herramienta disponible en el mercado que utiliza los nuevos servicios de rastreo y auditoría de Firebird 2.5 (por eso solo funciona con esta versión).
Se acaba de liberar la versión 1.6.0

Más información en:
http://www.upscene.com/displaynews.php?item=20110722


Un Saludo.

vivamotos 02-08-2011 16:32:30

Insertar sentencia SQL despues de Insert,update o delete
 
Buenas tardes,

Tengo firebird y quisiera saber como seria un SCRIPT que al detectar que hay una inserción,updatación o modificación de la bd lo añada a otra tabla para tener sú histórico.

Grácias.

oscarac 02-08-2011 16:41:48

mmmm
quiza puedas usar triggers

maeyanes 02-08-2011 18:10:10

Hola...

Como bien te comenta oscarac, necesitas usar triggers. Específicamente, del tipo After Update y After Insert.

Por cierto, no se dice updatación, es actualización...



Saludos...

vivamotos 02-08-2011 18:14:29

Como seria este trigger
 
Vale, seria trigger pero tengo dos dudas,

Primero se tendrá que poner un trigger en cada tabla no?

Luego como seria más o menos el trigger para recoger la consulta?

Casimiro Notevi 02-08-2011 18:22:33

Cita:

Empezado por vivamotos
...

Por favor, no repitas hilos, hace unos días preguntaste lo mismo, basta con que vayas al mismo hilo y vuelvas a escribir algo para que salga de nuevo en la lista de los últimos posts.
He unido ambos hilos para dejarlo sólo en uno.
Gracias por tu colaboración.
Saludos.

maeyanes 02-08-2011 18:24:30

Hola...

Así es, tendrías que tener uno o dos triggers por tabla...

Por ejemplo, para guardar algún cambio en los datos de un campo:

Código SQL [-]
create trigger CambioEnCampo for table TablaUno
active after update position 0
as
begin
  if (old.Campo <> new.Campo) then
    insert into TablaHistorico (Id, NombreCampo, ValorAnt, ValorNuevo)
      values(gen_id(IdHistorico_Gen, 1), 'Campo', old.Campo, new.Campo);
end

Este ejemplo no está probado, pero debería servirte para que te des una idea.


Saludos...


La franja horaria es GMT +2. Ahora son las 05:06:02.

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