![]() |
Problema con referencia foranea !
Saludos, estoy creando una referencia foranea y me desplega el siguiente mensage de error:
Código PHP:
Gracias |
No se si sea esto.. y no tengo forma de probarlo ahora, pero creo que podria ayudarte.. y es que no le estas poniendo nombre al foreign key. No parece lógico, porque el sistema debiera generar un nombre secuencial, pero como el error dice
Cita:
Código:
ALTER TABLE "FINA_FACTURACION_H" ADD CONSTRANIT NOMBRE_DEL_CONSTRAINT FOREIGN KEY ("COMP_ID", "CLIE_ID") |
no, no funciona, es una sentencia invalida :(
|
Hola,
Cita:
Saludos. |
La tabla esta vacia, no contiene ningun dato
|
Hola,
hum, pues ahora empieza a ser raro. Sólo se me ocurren dos posibilidades: 1. Que "COMP_ID" y "CLIE_ID" no sean clave primaria en FINA_CLIENTES. Aunque creo que debería saltar otro tipo de error. 2. Los metadatos de la base de datos están corruptos. En este último caso, aconsejo una verificación/reparación de la base de datos (gfix), o un backup/restore (gbak). Saludos. |
No te molestes conmigo... pero creo que no estas haciendo ni el minimo esfuerzo por resolver tu problema, sino queres que otros lo resolvamos por vos.
en mi respuesta anterior, te dije que pusieras la siguiente sentencia: Cita:
sin embargo, la sentencia tiene un error de sintaxis, por lo que el servidor de interbase, correctamente te ha dicho "invalid sentence". No te voy a decir cual es el error, pues espero que al menos trates de encontrarlo vos mismo... Hasta luego. |
Disculpame si no me supe expresar apropiadamente, por su puesto, luego de postear el mensage donde indicaba que la instruccion estaba incorrecta probe con el codigo SQL correcto el cual es el siguiente:
Código PHP:
gfix -v -full "C:\midb.gdb" y no me desplego ningun mensaje de error que podia exisistir en la DB. Esta DB es un poco grande, consta de unas 50 tablas y todas estan referenciadas, algunas tablas tienen unas 4 o 5 referencias foraneas, pero solo he tenido problema al crear esta, pienso que el problema debe de estar en alguna referencia de otra tabla la cual no me deja crear esta para conservar la integridad, pero no le veo mucho sentido ya que los campos "COMP_ID" y "CLIE_ID" de la tabla "FINA_CLIENTES" esta siendo referenciada por otra tabla sin ningun problema. |
Hola,
en la Borland Developer Network he encontrado una referencia de un problema similar al tuyo, aunque referido a la versión 4 de InterBase. Te pongo el enlace porque es tan similar que es probable que pueda ayudarte ... http://bdn.borland.com/article/0,1410,25303,00.html Saludos. |
Gracias a todos !
Ya encontre el problema, extraje toda la metadata de la DB y observe que en la tabla "FINA_CLIENTES" habia un indice unico con los campos "COMP_ID" y "CLIE_ID", aparte del primary key que hace la misma funcion, entonces borre este indice unico y problema resuelto. |
Hola,
gracias por la información. Tomo nota del asunto, ya que resulta extraño y sin lógica (aparente). Saludos. |
La franja horaria es GMT +2. Ahora son las 09:18:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi