[RESUELTO] Problema entre dos versiones distintas de Firebird.
#1
Escrito 17 diciembre 2010 - 04:14
Tengo instalado FB 2.1.3 en mi PC de casa y con él he hecho una copia de seguridad de una BD, creando un archivo .fbk. Luego me llevo este fichero al PC del trabajo donde tengo FB 2.5.0 y al restaurar me salta un error y no termina la restauración, perdiendo la tabla entera.
Concretamente, el error salta al intentar restaurar un campo del tipo DATE.
Me llama la atención este error ya que lo lógico sería que FB 2.1 no pudiera restaurar un fichero fbk creado por una versión superior (en este caso la 2.5) pero, de toda la vida, los programas informáticos son capaces de entender ficheros de versiones anteriores (con alguna excepción "interesada").
Este error ¿le ha pasado a alguien más? ¿Qué se puede hacer?
Decir que he solucionado el caso, pero me he visto obligado a desinstalar FB 2.5.0 e instalar FB 2.1.3. De este modo no he tenido problema en la restauración y la bd se crea sin problemas.
Por lo demás, añadir que no he encontrado ningún otro error de compatibilidd con FB 2.5.0 el escaso tiempo que lo he utilizado (1 mes aprox.)
Un saludo al foro.
#2
Escrito 17 diciembre 2010 - 04:39
Pero.... cuál es el mensaje del error que te da? Porque el tipo Date existe en FB 2.5 y es raro que te falle ahí
Nos leemos
#3
Escrito 17 diciembre 2010 - 04:50
#4
Escrito 17 diciembre 2010 - 07:40
Saludos.
#5
Escrito 17 diciembre 2010 - 08:47
Creo que fue muy precipitado el haber tomado esa medida. Hay que quitarnos las ideas de que desinstalando o reinstalando los problemas se solucionan. En realidad lo único que hace eso es ocultarlo, no solucionarlo.
Seguramente hay una solución a tu problema. No asumas que el error está en F2.5... ¿Por cierto, estás empleando alguna versión RC o la final?
Hay más dudas que respuestas. Para hallar las respuestas debes brindar información completa y ser lo más descriptivo posible.
Saludos,
#6
Escrito 17 diciembre 2010 - 02:04
Ahora, con el tiempo ya no me acuerdo casi de usar gbak pero bueno, probando he conseguido ejecutar gbak y ahora sí tengo más información.
Uso gbak desde un archivo .bat con la siguiente sintaxis:
gbak.exe -r -v -t -user SYSDBA -password "masterkey" -p 8192 Catedral_2007_x1H_20101216.fbk catedral_2007.fdb
Y el mensaje de error ya no está en la columna FECHA como antes dije sino en otro sitio. Copio y pego el listado de error:
gbak:opened file Catedral_2007_x1H_20101216.fbk
gbak:transportable backup -- data in XDR format
gbak: backup file is compressed
gbak:created database catedral_2007.fdb, page_size 8192 bytes
gbak:started transaction
gbak:restoring domain RDB$1
... (esto lo pongo yo para no aburrir en exceso)
gbak:restoring domain RDB$80
gbak:restoring table REGISTRO_ENTRADA
gbak: restoring column NUMERO_DATOS
gbak: restoring column VOLUMEN
gbak: restoring column IDPROYECTO
gbak: restoring column IDREGISTRO
gbak: restoring column FECHA_ENTRADA
gbak: restoring column HORA_ENTRADA
gbak: restoring column NUMERO_LINEAS
gbak: restoring column NUMERO_DATOS_NULL
gbak: restoring column USUARIO
gbak: restoring column TIPO_DATOS
gbak: restoring column FICHERO_ENTRADA
gbak: restoring column NOTAS
gbak: restoring column RESULTADO
gbak: restoring column CRC32
gbak:restoring table LLUVIA_ENCHAR
gbak: restoring column IDDATO
gbak: restoring column HORA_INT
gbak: restoring column IDSENSOR
gbak: restoring column IDREGISTRO
gbak: restoring column FECHA
gbak: restoring column HORA
gbak: restoring column MES_INT
gbak: restoring column SEMANA_INT
gbak: restoring column DIA_INT
gbak: restoring column CORRECTO
gbak: restoring column ANYO_INT
gbak: restoring column DATO
gbak:restoring table HUM_TEM
gbak: restoring column MIN30_INT
gbak: restoring column MIN15_INT
gbak: restoring column MIN05_INT
gbak: restoring column IDDATO
gbak: restoring column HORA_INT
gbak: restoring column DATO
gbak: restoring column IDSENSOR
gbak: restoring column IDREGISTRO
gbak: restoring column FECHA
gbak: restoring column HORA
gbak: restoring column MES_INT
gbak: restoring column SEMANA_INT
gbak: restoring column DIA_INT
gbak: restoring column CORRECTO
gbak:restoring table TABLAS_DATOS
gbak: ERROR:Malformed string
gbak:Invalid metadata detected. Use -FIX_FSS_METADATA option.
gbak:Exiting before completion due to errors
Así que el error está en la tabla TABLAS_DATOS. Esta tabla sólo tiene dos campos: IDTABLADATOS tipo INTEGER con clave primaria y TABLA_DATOS tipo VARCHAR(20).
La tabla sólo tiene 3 registros.
Esto con FB 2.5.0 para win_64. SO: Vista x64.
Espero haber aportado información útil.
Gracias a todos por vuestro interés.
Un saludo.
#7
Escrito 17 diciembre 2010 - 03:24
Pues el mismo gbak te lo está diciendo Es una malformación en un string y te está recomendando usar -FIX_FSS_M para solucionar el error
Prueba y nos comentas
Nos leemos
#8
Escrito 18 diciembre 2010 - 12:53
Pero al final lo encontré gracias a San Google y no poco rato de buscar.
He aquí la sintaxis correcta:
gbak.exe -r -v -t -user SYSDBA -password "masterkey" -p 8129 -FIX_FSS_METADATA WIN1252 Catedral_2007_x1H_20101216.fbk Catedral_2007.fdb
El jodío WIN1252 no aparece en la documentación.
En fín, problema resuelto.
Gracias a todos por vuestra ayuda.
#9
Escrito 19 diciembre 2010 - 09:56
Donde puse la sintaxis correcta, en realidad siendo estrictos para los usuario de habla hispana debería poner
gbak.exe -r -v -t -user SYSDBA -password "masterkey" -p 8129 -FIX_FSS_METADATA ISO8859_1 Catedral_2007_x1H_20101216.fbk Catedral_2007.fdb
Sólo cambia WIN1252 para idioma inglés por ISO8859_1 para el español.
Espero le sirva de ayuda a quien tenga el mismo problema.
Un saludo.
#10
Escrito 19 diciembre 2010 - 10:34
Pues muchas gracias por compartirlo con todos nosotros
Nos leemos
#11
Escrito 19 diciembre 2010 - 11:04
#12
Escrito 21 diciembre 2010 - 11:06
He restaurado mi base de datos de mas de 2 millones de registros y 7 tablas de firebird 2.1.3 a firebird 2.5. He utilizado IBEXPERT en su version personal(gratuita) y me ha funcionado de maravilla. Talvez seria bueno que probaras esta herramienta y talvez te ayude en futuros cambios.
Gracias luk por tu observación. Sin embargo, he bajado una versión demo de ibexpert y me sigue dando error al restaurar. No obstante, me ha parecido un programa muy interesante.
Un saludo.
#13
Escrito 21 diciembre 2010 - 12:10
Esta versión es con la que muchos trabajamos habitualmente.
Saludos.
#14
Escrito 21 diciembre 2010 - 01:00
Saludos,