Ir al contenido


Foto

[RESUELTO] Problema entre dos versiones distintas de Firebird.


  • Por favor identifícate para responder
13 respuestas en este tema

#1 AngelF

AngelF

    Advanced Member

  • Miembros
  • PipPipPip
  • 100 mensajes
  • LocationValencia - España

Escrito 17 diciembre 2010 - 04:14

Hola a todos.

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.
  • 0

#2 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 17 diciembre 2010 - 04:39

Buenas,

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

  • 0

#3 AngelF

AngelF

    Advanced Member

  • Miembros
  • PipPipPip
  • 100 mensajes
  • LocationValencia - España

Escrito 17 diciembre 2010 - 04:50

Pues no especifica nada. Dice error en el campo FECHA y ahí se para. No puedo decirte textualmente lo que dice porque he desinstalado la versión 2.5.0 pero te aseguro que no daba ninguna información adicional.
  • 0

#4 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 17 diciembre 2010 - 07:40

¿ Puedes instalar un momento Firebird 2.5 (son 5 minutos), volver a intentarlo e indicarnos el mensaje de error "exacto" tal y como te aparece ?.

Saludos.
  • 0

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 17 diciembre 2010 - 08:47

Estoy con Marc,

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,
  • 0

#6 AngelF

AngelF

    Advanced Member

  • Miembros
  • PipPipPip
  • 100 mensajes
  • LocationValencia - España

Escrito 17 diciembre 2010 - 02:04

OK, tenéis razón, he sido poco explícito. El caso es que he sido tan parco en explicaciones porque estaba restaurando desde un programa que me hice hace tiempo para no tener que andar picando la sintaxis de gbak. Este programa usa el componente FibRestoreService y el mensaje de error que me daba era muy escueto.

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.

  • 0

#7 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 17 diciembre 2010 - 03:24

Buenas,

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

  • 0

#8 AngelF

AngelF

    Advanced Member

  • Miembros
  • PipPipPip
  • 100 mensajes
  • LocationValencia - España

Escrito 18 diciembre 2010 - 12:53

Es cierto, el mismo gbak me está indicando el error y cómo solucionarlo. Pero casi me vuelvo loco buscando una sintaxis correcta para el puñetero -FIX_FSS_METADATA. No paraba de dar mensajes de error.

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.
  • 0

#9 AngelF

AngelF

    Advanced Member

  • Miembros
  • PipPipPip
  • 100 mensajes
  • LocationValencia - España

Escrito 19 diciembre 2010 - 09:56

Perdón, corrijo mi mensaje anterior.
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.
  • 0

#10 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 19 diciembre 2010 - 10:34

Buenas,

Pues muchas gracias por compartirlo con todos nosotros ;)

Nos leemos

  • 0

#11 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 19 diciembre 2010 - 11:04

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.
  • 0

#12 AngelF

AngelF

    Advanced Member

  • Miembros
  • PipPipPip
  • 100 mensajes
  • LocationValencia - España

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.
  • 0

#13 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 21 diciembre 2010 - 12:10

AngelF, tienes disponible una versión personal de Firebird, totalmente gratuita y sin limitaciones de 30 o 40 días. Es la misma que la Demo que te has instalado (exceptuando que no tiene depurador de procedimientos almacenados y cuatro cosas más).

Esta versión es con la que muchos trabajamos habitualmente.

Saludos.
  • 0

#14 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 21 diciembre 2010 - 01:00

Y otra herramienta de administración que puedes considerar es FlameRobin, que es de código libre y además multiplataforma. Como contra, no tiene tantas cosas como IBExpert y no es tan vistoso pero al menos tiene algunas que no se pueden en la versión Personal de IBExpert, entre ello: monitor de eventos.

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.