Club Delphi  
    Paypal   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 07-04-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Podría ser que algunos datos no cumplieran con la nueva restricción y eso te estuviera dando error. Por mi parte forcé la situación y el error que me genera IBExpert al aplicar la nueva restricción es:
Cita:
No es posible confirmar la transacción:
violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "FK_DATLOC" on table "DATLOC".
Foreign key reference target does not exist.
Problematic key value is ("CODPRV" = '01', "POBLACION" = 3).
Sin embargo, el mensaje de error que publicas indica que la columna de la clave externa que estas creando es de diferente tipo al de la clave principal a que referencia, mas explayado aquí: Partner index segment no 1 has incompatible data type.

De todos modos podrías crear dos nuevas tablas sin datos (a modo de prueba) e intentar aplicarle la restricción y ver si te genera el error.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 08-04-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
Haré la prueba. No obstante el error me deja perplejo porque ambas columnas contienen el mismo tipo de datos.
Responder Con Cita
  #3  
Antiguo 09-04-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
Estaba repasando el código que tengo hecho hasta ahora y me he dado cuenta de una cosa. Como comentaba lo que está pasando es que tengo que ampliar la base de datos de una aplicación ya existente; me he dado cuenta que en la carga inicial de datos, que proceden de una BB.DD. Paradox, las restricciones (CHECK y FOREIGN KEY) las defino después de haber cargado la tabla y no tuve ningún problema, y son unas cuantas.
Responder Con Cita
  #4  
Antiguo 09-04-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Paradox es una BD relacional?
Responder Con Cita
  #5  
Antiguo 09-04-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
No, ya sé que no. Digo que los datos originales estaban tablas Paradox. Me refería a las restricciones en FB.
Responder Con Cita
  #6  
Antiguo 09-04-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Angel.Matilla Ver Mensaje
No, ya sé que no. Digo que los datos originales estaban tablas Paradox. Me refería a las restricciones en FB.
Es que en este caso en concreto, habría que ver esos datos que tienes. Paradox "se los traga" porque no es relacional.
Responder Con Cita
  #7  
Antiguo 09-04-2018
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 18
orodriguezca Va por buen camino
¿Los scripts SQL para crear las tabla POBLACION y DATLOC fueron obtenidos de la base de datos?. El mensaje de error indica que hay alguna discrepancia en la definición de la columna CODPRV entre las dos tabla, posiblemente el Collation.
Responder Con Cita
  #8  
Antiguo 09-04-2018
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Ubicación: Toledo - España
Posts: 1.418
Poder: 21
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que en este caso en concreto, habría que ver esos datos que tienes. Paradox "se los traga" porque no es relacional.
A ver. En la BB.DD. Paradox hay columnas (en concreto CodPrv) que no están definidas, pero al hacer la carga de Paradox a FB ya lo tengo en cuenta y pongo un valro que sé no me va a dar error; en este caso concreto el valor que debe ir es 13 por la provincia de Ciudad Real y antes de ejecutar los INSERT correspondientes ya he cambiado el valor por defecto de 99 al que corresponde, 13 en este caso. Piensa que ambas bases de datos son "invento" mío.
Cita:
Empezado por orodriguezca Ver Mensaje
¿Los scripts SQL para crear las tabla POBLACION y DATLOC fueron obtenidos de la base de datos?. El mensaje de error indica que hay alguna discrepancia en la definición de la columna CODPRV entre las dos tabla, posiblemente el Collation.
Los scripts son código del programa Builder. Como puedes ver en ambos esa columna CodPrv está definida igual (VARCHAR(2)), lo mismo que esa columna Poblacion (que haciendo caso a ecfisa he bautizado de otra manera para evitar confusiones) es un entero en ambas tablas. Tal vez, y sólo tal vez, habría que definirlas como VARCHAR(3) o VARCHAR(4) ya que el avlro de ese campo podría llegar a ser 100. Y, por cierto, ¿a qué collation te refieres?
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al definir un FK en Firebird 2.5 Angel.Matilla Firebird e Interbase 10 29-11-2016 13:13:26
Error al intentar borrar constraint foreign key rfernandez Firebird e Interbase 5 08-10-2008 23:36:02
error al crear foreign key en firebird carlo_acp Conexión con bases de datos 2 23-02-2008 02:58:08
error de violation of foreign key constraint... en ibx Arturo Firebird e Interbase 1 07-12-2004 19:38:57
uso de FOREIGN KEY jzginez Firebird e Interbase 2 22-04-2004 23:20:25


La franja horaria es GMT +2. Ahora son las 07:09:15.


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