Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-11-2003
Salomon Salomon is offline
Miembro
 
Registrado: ago 2003
Ubicación: Galapagar, Madrid (España)
Posts: 25
Poder: 0
Salomon Va por buen camino
Talking Registros Borrados en FireBird

wuenaaaaaaaaaaaasssssssssssssss!!!!

Creo que cuando FireBird o InterBase borra un registro, desde una sentencia "Delete From TABLA ... " en realidad no borrar los datos del disco, sino que les pone una marca de borrado, mi pregunta es si hay alguna forma de recuperar dicho registro, y cual seria dicha forma.

Ya que me pongo, os realizo otra pregunta:

Queremos crear un Triger que se ejecute con cada sentencia de inserción, borrado o modificación, en nuestra base de datos, y que guarde en un fichero .log esa sentencia SQL (Insert Into ...., Delete From ...., Update Table Set ....). y así controlar todos los moviminetos que se hacen sobre la base de datos, ya sea desde nuestra aplicacion, como desde cualquier herramineta SQL.

¿Es posible esto?

¿Como se haría?

Murcias Garcias!!!

SALO!
__________________
De donde sacara las pelas la luna para salir todas las noches!!!

P.D. La mala gente gobierna por que la buena gente no vota.

En españa eso ya no pasa....
Responder Con Cita
  #2  
Antiguo 21-11-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Aunque el espacio del registro no es recuperado automaticamente al borrar el registro, si que lo es en la siguiente garbage collection (que podriamos mal-traducir por recolección de basura). Así pués nunca podrás saber si ese registro ya ha sido eliminado fisicamente de la base de datos, o no, por lo que no creo que exista ninguna forma de recuperar ese registro (naturalmente me puedo equivocar).

Respecto a guardar un registro en un archivo .log. Prueba simplemente a definir una tabla externa (en un archivo de texto), y en el trigger, inserta registros en la tabla externa. Aunque nunca he utilizado tablas externas, debería funcionar correctamente.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 21-11-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Cita:
guillotmarc comentó:
Respecto a guardar un registro en un archivo .log. Prueba simplemente a definir una tabla externa (en un archivo de texto), y en el trigger, inserta registros en la tabla externa. Aunque nunca he utilizado tablas externas, debería funcionar correctamente.
de hecho es así como lo hacen utilidades como IBLogManager , aunque en este caso concreto el log lo mantiene en tablas dentro de la propia base de datos.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:19:06.


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
Copyright 1996-2007 Club Delphi