FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
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. |
#2
|
|||
|
|||
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 |
#3
|
||||
|
||||
Hola,
Cita:
Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|