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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2004
lafirma lafirma is offline
Miembro
 
Registrado: May 2003
Ubicación: Honduras
Posts: 159
Poder: 16
lafirma Va por buen camino
Error al actualizar tabla con generador

Esta sucediendome algo muy curioso, tengo un form donde actualizo varias tablas, pero en una de ellas las actualizaciones no se efectuan, para esa tabla uso un TClientDataSet.
Estaba usando firebird 1.03 y lo cambie por la 1.5, usando IBX, supuse que por eso era el problema (alguna imcompatibilidad no conocida...), pero al regresar a la 1.03 el problema continua.
He revisado el codigo hasta la saciedad, no encuentro ningun error, asi es que he ido 'aislando' el error para identificar plenamente que esta pasando.
Al final he llegado a la conclusion que el problema se da en un generador que tengo para esa tabla, cuando insertaba el generador no se actualizaba, a pesar que obtenia el valor en un trigger, dicho trigger se ejecuta pero el generador no se actualizaba, a veces salvaba los registros y a veces no, (aun con la version 1.03)
Lo que he hecho hasta ahorita es que he creado un nuevo generador con otro nombre y borro el anterior... y todo funciona de nuevo.
El problema es que son varias bases de datos y tendria que hacer eso por cada una de ellas. Imagino que debere sacar un backup y despues recuperar nuevamente c/u de las bases de datos por cualquier inconstencia dentro de los archivos...
Alguna idea de porque puede pasar esto?
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #2  
Antiguo 06-04-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: May 2003
Ubicación: Huelva
Posts: 2.638
Poder: 18
guillotmarc Va por buen camino
Hola.

Nunca había oído un error como este. Solo comentarte que es mejor no utilizar directamente una base de datos creada en Firebird 1.03, sobre Firebird 1.5. (Y lo mismo al revés, es mejor no volver a utilizar con Firebird 1.03 una base de datos abierta con Firebird 1.5).

Esto es porqué cada versión hace pequeños cambios en los metadatos de la base de datos (añade índices, ...). Así que lo que se recomienda para cambiar de versión una base de datos, es hacer una backup de la misma, y restaurarlo con el nuevo Servidor.

Aunque ni mucho menos me atrevo a asegurar que este haya sido el caso, si que lo veo posible.

¿ Puedes averiguarlo, comprobando si funciona correctamente el generador en una base de datos que nunca se haya abierto con Firebird 1.5 ?.

Para simplificar el proceso de actualización de las distintas Bases de Datos, te recomiendo que te crees un Script, donde englobes todas las instrucciones a ejecutar (drop trigger ..., create trigger ...). Así en un solo paso actualizas la Base de Datos.

Lo de hacer un Backup y un Restore posterior, siempre es una buena idea, a mi me gusta hacerlo periodicamente, cada cierto tiempo, aunque no tenga ningún problema. Te aseguras la detección de problemas de corrupción, se vuelven a crear balanzeados los índices, etc. ...

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 07-04-2004
lafirma lafirma is offline
Miembro
 
Registrado: May 2003
Ubicación: Honduras
Posts: 159
Poder: 16
lafirma Va por buen camino
Marc, a mi tampoco me habia sucedido nada parecido, he sacado copias de las bases de datos y las dejare con la version 1.5 despues de ejecutar algunos scripts de actualizacion.
Con todo esto estoy asombrado, todo ocurria excepto el generador que no se daba por 'enterado' que debia actualizarse tambien...
__________________
Saludos

Douglas Cruz
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 06:16:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi