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)
-   -   Misión Imposible?? Interbase 7.0 a Firebird 1.5 (https://www.clubdelphi.com/foros/showthread.php?t=54317)

Berto2003 14-03-2008 08:52:38

Misión Imposible?? Interbase 7.0 a Firebird 1.5
 
Buenos días amig@s del foro,

Cómo no, vuelvo por mis fueros para haceros una pregunta sobre un problema que podemos definir como "desesperante", :mad:. He estado mirando en este foro y he encontrado varios hilos sobre el asunto pero no me han sido apropiados para mi caso y no me ha solucionado el tema. El caso es que tengo una BD bastante grande (entre 1 y 2 Gb aprox.) con el motor Interbase 7.0 y quiero -oh, my God- pasarla a Firebird 1.5... ... Sí, lo sé, es un tema creo que espinoso y no sé si tiene solución y como os comentaba he mirado por ahí y encuentro soluciones que indican hacer un backup transportable en IB7.0, desinstalarlo, borrar todos los gds32.dll, instalar Firebird 1.5 y hacer un restore. He intentado esto pero no hay manera. Me da el error: "String truncated".
Sé que IB7.0 tiene el ods (on-disk structure) 11 y Firebird 1.5 la versión 10.1 y que hay problemas si se han utilizado las características de IB7.0 que no soporta FB1.5. En fin, que he intentado también hacer un Datapump mediante "IBPump.exe" pero no consigo hacerlo funcionar, :confused:. He leido por ahí que puede haber problemas con los "new. ... = ..." en la migración.

Bueno, gracias de antemana a todos/as por vuestra ayuda.

Saludos,
Bye. :)

duilioisola 14-03-2008 09:25:08

Has probado deshabilitando los triggers y borrando las FKs?

También podrías crear la estructura (Tablas) de las tablas en FB1.5, hacer el traspaso de datos y luego crear todo lo demás (PK, FK, Indices, Vistas, SPs)

Marathon tiene una utilidad que saca la estructura de una base de datos y genera un script, que luego podrías utilizar.

IBExpert creo que también.

Lepe 14-03-2008 12:01:48

¿Donde salta el error?, Al restaurar:
- la metadata
- los datos

Si lo del backup no te sirve, prueba a extraer los metadatos y crear una BBDD completamente nueva.

"Divide y vencerás":

Yo iría dividiendo el proceso. Primero extraigo la metadata y lo intento pasar a FB 1.5, si falla, ya sabes donde está el tema, ahora sigues dividiendo,
- extraes solo los metadatos de las tablas, después los triggers, etc.

Si el fallo está en los datos, todos los metadatos podrías actualizarlos de un simple paso.

Parece complejo pero es un juego de niños con las opciones de Ib Expert, (por ejemplo), ya que puedes ir extrayendo una parte e ir guardando en archivos distintos *.sql, que después vas ejecutando en la nueva base de datos.

Saludos

Berto2003 14-03-2008 12:30:47

Sí, teneis razón. Voy a probar lo que me deciis, dividir el proceso en partes y desactivar triggers.

Gracias
Un saludo

Berto2003 14-03-2008 12:33:29

Se me olvidaba Lepe,

El error me sale en el restore en FB1.5, a veces en unas tablas y a veces en otras. Dicho restore lo hago con el IB Expert y me salta el mensaje:

"segment buffer length shorter than expected: string truncated"

No sé si tiene que ver con los blob o algo parecido,

Ciao.

RolphyReyes 14-03-2008 13:54:23

Saludos.

No tengo una respuesta a tu caso, pero porque migrar a FB 1.5 cuando tienes FB 2.x que tiene bastante mejoras y más estabilidad.

Hasta luego.

RONPABLO 14-03-2008 15:43:34

por algún motivo de esos raros no tendrás algo así como acentos o nombres compuestos en los nombres de las tablas, ejem:

"países", "tamaños" o "unos datos"......

empsoft 14-03-2008 16:35:17

Saludos:
Al hacer esa migración nos encontramos con varios problemas:
- Los nombres de los procedimientos almacenados no pueden ser mayor de 15 o 18 caracteres (no recuerdo). Tuvimos que recortarlos (con el consiguiente esfuerzo) pero después funcionó.
- Otro tema, pero que ya has mencionado es el de los new.

Espero que te sirva, pero también ten en cuenta lo que comenta el amigo Rolphi, la versión FB 2.x está y funciona bien y la migración de interbase 7.1 te será mucho menos traumática, sin contar que si el procesador del servidor lleva Hiperthreding, doble nucleo o doble procesador, establecer la conexion con la B.D. en F.B. 1.5 cuesta un montón, igual que pasaba con Interbase 6, esto está solucionado tanto en Interbase 7.x como en FB 2.x

Saludos

RONPABLO 14-03-2008 17:37:24

con respecto con el datapump que has usado??? el ibPump???


de ser así comprueba bien que este los dos dialectos bien puestos, y poner al inicio de la ruta de donde esta la bd el servidor local (localhost), algo así como lo siguiente:


jachguate 15-03-2008 03:31:50

Indudablemente no funcionará un Backup/Restore desde IB 7, que es ya una versión superior a la que sirvio de partida para firebird.

Quizás la mejor opción sea el pump... sin embargo, si la base de datos no tiene blobs, podrías usar un archivo intermedio, como csv para trasladar los datos, sobre una estructura idéntica en fb 1.5/2.0 a la que ya tenes en ib 7.

Lee este artículo de mi blog para ver como importar/exportar a csv desde firebird

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 20:59:50.

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