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)
-   -   Foreign keys desactivadas (https://www.clubdelphi.com/foros/showthread.php?t=32023)

JCDiaz999 24-05-2006 17:44:22

Foreign keys desactivadas
 
Buenas tardes,

tengo varias bases de datos en interbase 6, todas con la misma estructura. La cuestión es que en una de ellas parecen haberse desactivado todas las foreign keys. Por ejemplo, puedo poner en una factura un código de cliente que no existe en el maestro de clientes, o en una linea de contabilidad una numero de cuenta inexistente.
Logicamente esto me causa graves problemas, pues cualquier pequeño error crea un inconsistencia. La base de datos sigue funcionando, pero si hago un gbk, al restarurarlo produce un error.
He estado revisando las foreign keys de esta base de datos en IBExpert, y estas existen y están igual que en el resto de bases de datos.

Me suena haber leido algo sobre que se pueden desactivar las foreign keys. ¿Alguien me podría decir algo más sobre esto?

Gracias.

celades1 24-05-2006 18:40:22

Hola

Si tienes bien diseñadas la fk, que por lo que dices es asi, y teniendo en cuenta que no puedes restaurar la BD, creo que tienes un problema con tu Bd, a mi parecer debes intentar arreglarla con el validation del Ibexpert u otra herramienta similar

Yo nunca he oido hablar de desactivar FK, no sea te confundas con desactivar triggers.

Saludos

JCDiaz999 31-05-2006 13:09:16

Hola,

Gracias por tu respuesta.

Los triggers si veo que se pueden activar y desactivar facilmente desde ibexpert, pero no es el caso.
A mi si que me suena haber leido algo sobre desactivar las foreign keys. A lo mejor es una opción de eliminar la integridad referencial en la base de datos o algo así. Estoy buscando en la documentación de interbase y de firebird, pero no encuentro nada al respecto.

El caso es que me pongo a comparar con las otras bases de datos y no observo diferencias. Por ejemplo, en la tabla cliente tengo un foreign key en en campo fpago que referencia al campo cod de la tabla formapago. Eso lo puedo ver en ibexpert y está así, igual que en el resto de bases de datos. Sin embargo en la base de datos en la que tengo el problema, me deja poner en los clientes formas de pago que no aparecen en la tabla formapago.

El servidor corre interbase 6.
No es cosa del servidor, porque en la misma máquina tengo 8 bases de datos, y solo me ocurre el problema en 2 de ellas. Además el problema ocurre con todas las foreign keys definidas ( al menos con todas las que he probado, porque la base de datos tiene cientos)

Gracias por cualquier tipo de ayuda.

Saludos.


La franja horaria es GMT +2. Ahora son las 09:58:47.

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