Ver Mensaje Individual
  #19  
Antiguo 10-10-2014
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Gracias por vuestros mensajes. Debo ser algo más que bruto...
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No te vuelvas loco. Detente, relájate un rato y después vuelve paso a paso, con las cosas claras.

Versión con la que se hizo el backup y restaurarlo con la misma versión. Ya hecho y funciona.
Crear un nuevo backup transportable para llevarlo a otra versión.

En la otra versión, restaurar el backup.
No hay más.

Tan solo debes estar seguro de que las versiones están correctamente instaladas y no están mezcladas. (gds32.dll fbclient.dll gbak etc...)
Simplemente eso.
Las versiones están bien instaladas porque donde corre la aplicación (2.5.1) se está usando sin problemas y en mi máquina (2.5.2) tengo otras bases de datos que funcionan (o funcionaban bien). Esta mañana hice un backup transportable (gbak -t) en el equipo donde está ahora instalada la aplicación, me lo traje a mi máquina (con TeamViewer) y lo restauré con los comandos que pusistéis. No funcionó.
Cita:
Empezado por jgutti Ver Mensaje
- para convertir .gdb a .fdb
1.- Generar backup de la base actual (colegio.gdb)
2.- ejecutar gbak -c colegio.GBK nuevocolegio.fdb -user SYSDBA -password masterkey
3.- renombrar nuevocolegio.fdb a colegio.fdb
Acabo de hacerlo y sigue saliendo el mismo mensaje de error:
Cita:
Wrong or obsolete version
.
Unsupported on-disk structure for file C:\DATCOL\TABLAS\COLEGIO_ANT\NUEVOCOL.FDB; found 32779, support 15.

SQL Code: -820
IB Error Number: 335544379
Cita:
Empezado por jgutti Ver Mensaje
lo mas probable es que en nuevo firebird que instalastes soporte solo .fdb
Esto ya me despista del todo. Tanto la base de datos como las tablas se crean por código:
Código:
try
{
     tColegio->Active = false;
     Colegio->Connected = false;
     Colegio->DatabaseName = AnsiString(cTablas) + "\\colegio.gdb";
     Colegio->Params->Clear();
     Colegio->Params->Add("USER 'sysdba'");
     Colegio->Params->Add("PASSWORD 'masterkey'");
     Colegio->Params->Add("PAGE_SIZE 4096");
     Colegio->SQLDialect = 3;
     Colegio->CreateDatabase();
}
catch(...)
{
     return false;
}
Con este código IBManager sí abre la base de datos.

Voy a probar otra cosa. Esta mañana, buscando con Google encontré un enlace Firebird Recuperación de bases de datos que utiliza la herramienta IBPump. Y en caso extremo, a las malas, como en el equipo donde corre la aplicación si funciona intentaré descargarme las tablas en ficheros de texto con la herramienta de extracción de bases de datos a un fichero de texto y la cargaría a la bestia. Ya sé que es una burrada, pero visto lo visto...
Responder Con Cita