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 17-11-2003
Avatar de EL WINDSURFISTA
EL WINDSURFISTA EL WINDSURFISTA is offline
Miembro
 
Registrado: sep 2003
Posts: 19
Poder: 0
EL WINDSURFISTA Va por buen camino
Unhappy Error en restore fichero interbase

Realizando el restore de un fichero GBK Interbase, al final cuando crea los índices me da el siguiente error "violation of FOREIGN KEY ...', es decir, que hay varios registros con la misma clave primaria. Lo soluciono desactivando los índices en el restore, busco los registros duplicados y los borro. Repito el proceso de backup, restore y solucionado. Pero cuando el fichero es grande 500 MB ó 1 Gb, el tema se complica. ¿Hay otra forma más fácil de solucionar el problema?.

Gracias.
Responder Con Cita
  #2  
Antiguo 17-11-2003
JMOTON JMOTON is offline
Miembro
 
Registrado: nov 2003
Ubicación: CARTAGENA
Posts: 10
Poder: 0
JMOTON Va por buen camino
YO TENGO EL MISMO PROBLEMA. La forma que tengo de solucionarlo es:

Compruebo si hay registros duplicados antes de hacer el Backup:

select CODDIARIO, NUM_ASIENTO, count(*) cuantos
from ASIENTOS
group by CODDIARIO, NUM_ASIENTO
PLAN SORT (SORT ((ASIENTOS NATURAL)))
order by 3 descending.
...
los que tengan más de 2 en el campo cuantos ==> los borro.

como son registros que puedo recalcular (es la cabecera de algunas lineas) , los borro, ya que no se cual es el bueno, y creo un único registro.

Esto ha sido una solución chapuza, para no tener que estar restaurando sin activar indices, eliminar duplicidades y depués activar los indices. Por supuesto esto ocurre con poca frecuencia, porque si no hubiera buscado otras soluciones.

Pero la pregunta es porqué ocurre esta duplicidad. En mi caso creo que es porque la clave primaria la forman 2 campos string. Creo que la clave primaria debería de se un campo entero, y si luego tenemos campos que no se pueden repetir, hacerlo con índices únicos. PRUEBA ESTE TEMA POR SI ES TU CASO.

Saludos.
__________________
JM
Responder Con Cita
  #3  
Antiguo 17-11-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 23
kinobi Va por buen camino
Hola,

Cita:
EL WINDSURFISTA comentó:
Realizando el restore de un fichero GBK Interbase, al final cuando crea los índices me da el siguiente error "violation of FOREIGN KEY ...', es decir, que hay varios registros con la misma clave primaria. [...]
pero ... si hubiese varios registros con la misma clave primaria el error debería ser "violation of PRIMARY KEY ..." ¿no?

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 21:19:26.


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