**Base: error 1000, No se pudo cargar la clase de controlador «» y ha cambiado de Firebird incorporado a JDBC**

Hola,

llevo trabajando con LibreOffice Base desde 2018. Comencé con una base de datos HQSLDB incorporado y después la migré a Firebird incorporado. Con esta última base de datos he estado trabajando sin problemas, hasta que hace unos días,
al abrir el fichero .odb y trabajar con él, lo guardé y al día siguiente ya no era un .odb con Firebird incorporado sino JDBC y a partir de ahí ya no puedo abrirlo de ninguna forma.
Estoy usando la versión 24.8.5.2 (x86_x64) en un windows 11 usando Java Oracle Corporation 1.8.0.441. La base de datos consta de una serie de tablas, consultas, informes y macros a las cuales ya no puedo acceder. La aplicación se
arranca directamente con una pantalla de menú para elegir opciones.

He consultado otros foros dónde he encontrado este mismo error y otros similares, y he intentado las siguientes soluciones indicadas:

  • descomprimir el fichero .odb, he usado 7zip y WinRar, para copiar los archivos database, script, properties y backup a una nueva base de datos pero al ir a copiarlos de la versión dañada me da un “Error de datos” y los archivos
    se copian en la nueva base de datos, pero vacíos
  • también he intentado otra versión que sólo copiaba los archivos content y settings, en este caso he copiado esos archivos de una nueva base de datos Firebird incorporado al .odb dañado, pero tampoco, con ellos no da el error de
    datos pero no me abre nada.
  • he intentado cambiar el tipo de conexión en la opción Editar de Libreoffice Base pero no aparece en la lista la opción Firebird incorporado, solo Firebird externo. He intentado conectar con el archivo firebird.fbk pero al ser un
    backup no me deja seleccionarlo
  • he instalado versiones anteriores de LibreOffice, a ver si conseguía más información y al instalar la versión 24.2.0.1, me indica que la clase de controlador que no se puede cargar es:
    C:\cygwin64/home/buildslave/source/libo-core/dbaccess/source/drivers/jdbc/JConecction.cxx:677. Ese programa o archivo no lo he instalado nunca en mi ordenador.
  • incluso he desacragado OpenOffice pero tampoco, el mismo error

Solo me queda intentar ejecutar estas opciones:

  1. intentar conexión JDBC pero me temo que si los ficheros están dañados no me deje
  2. intentar conectar el fichero firebird.fbk instalando una base de datos firebird y usando el Gbak para intentar recuperar algún dato.

La base de datos no puedo publicarla, ya que contiene datos de DCP-ESPECIAL.

No entiendo cómo se ha podido cambiar el tipo de conexión a JDBC, pero ¿alguna otra solución para poder al menos recuperar los datos aunque sea en un formato que haya que manipular manualmente?

Adjunto capturas de pantalla de los distintos errores en un fichero .zip.
1-No se establece conexion.zip (51.4 KB)

Muchas gracias.

Cristina

Copia firebird.fbk a firebird.fdb y prueba a conectar de nuevo con firebird.fdb

Primero recuperar los datos, que es lo importante:

  • Haz una copia de tu base de datos con problemas, no sea que encima la estropeemos más
  • Crea una base de datos firebird incorporado nueva
  • Abre con 7zip la base de datos con problemas y la nueva (yo no las he descomprimido, solo las he abierto)
  • De la base de datos con problemas arrastra (copia) el archivo database\firebird.fbk en la nueva sustituyendo el archivo de la nueva.
  • Cierra las dos bases de datos
  • Abre la nueva y mira si puedes ver los datos

También puedes extraer el archivo firebird.fbk y convertirlo en un archivo fdb y luego conectar con él como firebird externo. Esto que es un poco más lioso lo explico en este vídeo https://youtu.be/jz_UTqb4gHE?si=-3WwDKWvcccBbz-E. El título (y el objetivo) del vídeo parece que no tiene nada que ver con el tema, pero entre otras cosas se explica como extraer un archivo fbk y convertir en un archivo fdb (entre los minutos 3 y 10 apróximadamente). Recuerda que si quieres conectar con el archivo fdb como firebird externo sin servidor, tienes que convertirlo a firebird 3

Hola Gbp,
he intentado esta solución que propones. He abierto el fichero con el 7zip y he renombrado el fichero firebird.fbk como firebird.fdb. Al abrir la base de datos me ha dado un aviso de que el fichero estaba dañado y si quería repararlo. Le he dicho que sí y me sale el error:
“Error de lectura.
Error de formato descubierto en el archivo en el subdocumento settings.xml en 1,0(fila,col)”
Si le doy a Aceptar en este mensaje de error me abre un documento vacío pero de Libreoffice Writer.
Si intento editar el fichero settings.xml con el 7zip, me sale el error “Error de datos: settings.xml”.

He creado una base de datos nueva Firebird incorporado y he copiado el settings.xml nuevo en el fichero dañado, pero me sale el mismo error al abrir la base de datos dañada.

¿Alguna sugerencia para evitar ese error?

Voy a seguir intentando con otras propuestas mientras tanto.

Gracias.

Cristina

Hola jucasaca,

copiar el fichero firebird.fbk de la base de datos dañada a una nueva, da un “Error de datos: database/firebird.fbk”, al Aceptar en la base de datos nueva, el fichero firebird.fbk tiene un tamaño 0 y el original tiene un tamaño de 1.514.496. Está vacío. Al intentar abrir la nueva base de datos que he llamado Optica_app_Segunda.odb me sale este error que adjunto.

Al intentar extraer el archivo firebird.fbk salen mensajes de error en todos los ficheros extraídos y el tamaño de los ficheros firebird.fbk y data es 0, al editarlos, no hay nada, están vacíos.

Adjunto ficheros con los errores de las dos pruebas.

¿Es posible recuperar los datos de alguna otra forma?

Gracias.

Cristina
Errores.zip (233.9 KB)

Entiendo que el archivo firebird.fbk es un fichero externo y que estás trabajando con Firebird 3, si el tamaño del mismo es de 0 bytes entonces no parece haber nada en el archivo,

Si el archivo es realmente un backup con un tamaño superior a 0 bytes, puedes intentar recuperarlo con gbak.

  • Descarga Firebird-3.0.12.33787-0-x64.zip del apartado Win64 de https://www.firebirdsql.org/en/firebird-3-0/
  • Descomprime el archivo descargado en la misma carpeta donde se encuentra el zip y creará la carpeta “Firebird-3.0.12.33787-0-x64”
  • Abre la nueva subcarpeta “Firebird-3.0.12.33787-0-x64”
  • Copia (Ctrl+C) la dirección completa de la barra de carpetas del explorador de ficheros.
  • ve la carpeta donde está el archivo firebird.fbk
  • teclea CMD + enter en la barra de carpetas del explorador de archivos y se abrirá la consola de Windows
  • con Ctrl+V se pegará en la consola la direccion copiada anteriormente que debría ser algo como C:\Users\Tu_Usuario\Descargas\Firebird-3.0.12.33787-0-x64
  • Añade a la dirección copiada en la consola, la orden para restaurar la copia de seguridad, que sería si no hay clave de acceso, \gbak -c firebird.fbk firebird.fdb -user SYSDBA.
  • la orden completa:
    C:\Users\Tu_Usuario\Descargas\Firebird-3.0.12.33787-0-x64\gbak -c firebird.fbk firebird.fdb -user SYSDBA.

Bueno, todo eso lo tiene en el vídeo que enlacé, pero parece que lo ha hecho mucho caso…

1 Like

Si he visto el video, pero ya comente que estaba usando firebird incorporado, no externo.
Todos los intentos de extraer,copiar el fichero de base de datos del .odb,han sido fallidos, siempre daba error de datos.
Asi que, parece que no puedo hacer nada con el fichero dañado que es el que queria recuperar.
Tendre que usar una copia antigua, instalar y configurar el firebird externo para usarlo en Libreoffice y volver a meter en la base de datos lo que he perdido.

Cristina

Al cambiar la extensión del archivo .odb a .zip y abrirlo con un gestor de archivos dentro del directorio database hay algún archivo firebird.fdb.

Si el archivo firebird.fdb aun se encuentra, la base de datos está en el archivo y se podría intentar abrirlo con un gestor de bases de datos Firebird como FlameRobin: http://www.flamerobin.org/

O directamente instalar Firebird sql https://firebirdsql.org/, y mediante isql -user sysdba -password masterkey path/to/firebird.fdb, abrir la base y exportar los datos.

Hola Kyodake,

el fichero firebird.fbk se encuentra dentro de la carpeta database y tiene un tamaño de 1.514.496 pero en el momento que intento hacer cualquier cosa con el fichero, copiar, mover, extraer,… me da un error y lo copia pero tamaño 0, vacío.

¿Cómo puedo hacer para que Firebird pueda abrir ese fichero que está en el .odb?

Gracias

Cristina

Revisa si existe una copia previa del archivo.odb en:

C:\Users\TuUsuario\AppData\Roaming\LibreOffice\4\user\backup

También puede ser que tengas activada en Windows la restauración de versiones anteriores, si es así:

Pulsa el botón derecho del mouse en el archivo.odb original.

Selecciona —>Propiedades —> Versiones anteriores e intenta restaurar una versión anterior no dañada.

Otro procedimiento es instalar Disk Internals Zip Repair : Fix zip file with DiskInternals ZIP Repair | DiskInternals, e intentar reparar el archivo.