PDA

Ver la Versión Completa : Insertar sentencia SQL despues de Insert,update o delete


vivamotos
28-07-2011, 15:28:22
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
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
Herramientas de FB (http://www.firebird.com.mx/modules/news/index.php?storytopic=13) : Liberada nueva versión de FB Trace Manager (http://www.firebird.com.mx/modules/news/article.php?storyid=3005) Enviado por admin (http://www.firebird.com.mx/userinfo.php?uid=1) el 23/7/2011 11:17:24 (33 Lecturas) http://www.firebird.com.mx/modules/news/images/topics/herramientas.gif (http://www.firebird.com.mx/modules/news/index.php?storytopic=13)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
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
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
...

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:


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...