No se reconoce el formato de base de datos
12/11/2019
Así reparé 9 archivos de MS Access que devolvían el error “No se reconoce el formato de base de datos”. Artículo de la serie “Cómo reparé 28 bases de datos dañadas”.
Durante la preparación del proyecto de investigación “Cómo reparé 28 bases de datos dañadas”, dañé a propósito 28 archivos de Microsoft Access en diferentes partes de su estructura interna.
Las modificaciones fueron cuidadosamente diseñadas para afectar a objetos específicos de la base de datos. El objetivo era conseguir una buena muestra de los distintos errores que se pueden ver en una base de datos dañada de Microsoft Access.
De los 28 archivos, sólo 9 de ellos mostraron el error del que trata este artículo. Aunque en todos fuera el mismo error, No se reconoce el formato de base de datos, los síntomas y resultados eran muy diferentes en cada caso:
Cuándo se producía el error
- En 2 de los 3 archivos accdb que se podían abrir, el error se producía solamente al intentar acceder a determinadas tablas.
- En otro archivo que también se podía abrir, el error saltaba en otro momento, cuando intentaba abrir determinados formularios e informes.
- Los otros 6 archivos no se podían abrir en absoluto.
Cómo los reparé
- 2 de ellos fueron totalmente irrecuperables.
- Pude reparar 3 usando Compactar y reparar.
- En 4 casos necesité usar una herramienta de recuperación de datos.
Cuánta información pude recuperar
- En 2 casos no se pudo recuperar nada.
- En algunos casos, sólo se pudieron recuperar los campos de texto de las tablas.
- En otros, tablas, formularios e informes perdieron el nombre aunque su contenido se recuperó totalmente.
- En otros, se perdieron parte de los objetos.
- En otros se recuperó todo.
¿Cuándo se muestra el error?
He clasificado los 9 archivos accdb según el momento en que se muestra el error:
Error al abrir una tabla
La base de datos sí se puede abrir.
Al intentar abrir algunas tablas, incluso en vista diseño, salta el error:
Tras aceptar el error, la tabla no se abre.
Archivos
corrupt-system-relationships-def.accdb
Archivo | 1/2 |
Daño | La estructura de datos que almacena las relaciones entre tablas está dañada. |
Pronóstico | Bueno |
Cómo identificar |
|
Métodos de recuperación | Usando Compactar y reparar el problema se soluciona aunque se pierden todas las relaciones entre tablas. |
corrupt-customers-def.accdb
Archivo | 2/2 |
Daño | La definición de alguna tabla están dañados. Los registros siguen en el archivo pero no hay forma de interpretarlos, ni de recuperarlos. |
Cómo identificar |
|
Pronóstico | Malo para las tablas afectadas. |
Métodos de recuperación | Usar una herramienta de recuperación de datos con capacidad para regenerar o importar la definición de las tablas. |
¡Atención!:
Tablas | Si usas Compactar y reparar, las tablas afectadas serán eliminadas. Si quieres intentarlo, haz primero una copia de seguridad. |
Error al abrir formulario o informe.
La base de datos sí se puede abrir.
Los formularios e informes, al abrirlos, lanzan el error:
Las consultas, cuando se intentan abrir o editar, devuelven este error:
Sin embargo, los formularios e informes sí que se pueden abrir en vista Diseño sin incidencias.
-
Cuando intentamos abrir un formulario o informe, salta uno de estos 2 errores:
Archivo
corrupt-system-queries-def.accdb
Archivo | 1/1 |
Daño | La estructura de datos donde se guardan las consultas está dañada. Formularios e informes se ven también afectados porque Access usa internamente el sistema de consultas para abrirlos. |
Pronóstico | Bueno |
Cómo identificar |
|
Métodos de recuperación |
|
No se puede abrir la base de datos
Intentas abrir el archivo accdb.
-
El archivo no se abre.
Rasgos comunes
- Probablemente el archivo accdb esté dañado en los primeros KBs del archivo.
- No podrás usar la herramienta Compactar y reparar base de datos. Access devolverá el mismo error si lo intentas.
- No podrás usar la técnica de importar todos los objetos de un archivo dañado. Access devolverá el mismo error si lo intentas.
- Existe una posibilidad de que se hayan perdido todos los datos.
- La cabecera del archivo, el índice de objetos, o el almacenamiento de objetos, están afectados.
- La mayoría de las utilidades de reparación de Access sólo podrán recuperar tablas, a no ser que incluyan funciones específicas para recuperar objetos huérfanos.
Archivos
empty.accdb
Archivo | 1/6 |
Daño | El archivo tiene tamaño de 0 bytes o es demasiado pequeño. |
Cómo identificar | Chequea el tamaño del archivo. |
Métodos de recuperación | Irrecuperable. |
zero-overwrite-whole.accdb
Archivo | 2/6 |
Daño | Todos los datos originales del archivo accdb han sido remplazados con ceros o datos basura. |
Cómo identificar | Inspecciona el contenido del archivo con un visor hexadecimal. |
Métodos de recuperación | Irrecuperable. |
zero-overwrite-beginning-400K.accdb
Archivo | 3/6 |
Daño | Los datos iniciales del archivo accdb ha sido sobre-escritos con ceros o datos basura. |
Cómo identificar | Inspecciona el contenido del archivo con un visor hexadecimal. |
Métodos de recuperación | |
Pronóstico | Grave. |
Elementos recuperables:
Tablas | Probable pérdida de las tablas debido a la pérdida de sus definiciones. Sólo herramientas capaces de regenerar o importar la definición de las tablas, podrán recuperar este tipo de tablas. Las definiciones de las tablas, que contienen las características de cada campo como su nombre y tipo, suelen encontrarse al principio del archivo. Una definición también podría estar en otras zonas del archivo accdb, pero sólo si se ha modificado el diseño de tabla recientemente y no se ha compactado después la base de datos. |
Formularios, informes y Visual Basic | Probable pérdida de todos ellos. Sólo recuperables con herramientas capaces de recuperar objetos huérfanos. |
Macros y consultas | Probable pérdida de todos ellos. |
corrupt-header.accdb
Archivo | 4/6 |
Daño | Los primeros bytes del archivo han sido sobre-escritos con ceros o datos basura. |
Cómo identificar | |
Métodos de recuperación |
corrupt-index-page.accdb
Archivo | 5/6 |
Daño | Está dañado el índice que contiene la lista de todas las tablas y resto de objetos de la base de datos. |
Cómo identificar | Necesitarás consultar la vista previa de una herramienta de recuperación de datos capaz de recuperar objetos huérfanos. Verás que las tablas y resto de objetos han perdido el nombre. |
Métodos de recuperación | |
Pronóstico | Variable. |
Elementos recuperables:
Tablas | Las tablas afectadas perderán el nombre, pero el contenido de la tabla se suele recuperar bien. Algunas herramientas no pueden recuperar tablas que hayan perdido el nombre. |
Macros y consultas | Los objetos afectados perderán el nombre. |
Formularios e informes | Los objetos afectados perderán el nombre. |
Visual Basic | Los módulos se recuperan al completo. El VBA de formularios e informes, quedaría separado de su objeto si este hubiera perdido el nombre. |
corrupt-objects-def.accdb
Archivo | 6/6 |
Daño | Se ha dañado el contenedor de datos donde se guardan formularios, informes, macros y Visual Basic. |
Cómo identificar | Usa la vista previa de una herramienta de recuperación de datos que informe sobre el estado de los objetos. Aunque se muestran en los resultados y son aparentemente recuperables, algunos formularios, informes, macros y consultas, no contienen datos. En el caso de AccessFIX, un objeto dañado está siempre marcado con una alerta amarilla. En otras utilidades no es posible reconocer objetos dañados. |
Métodos de recuperación | |
Pronóstico | Variable. |
Elementos recuperables:
Tablas | Este daño no afecta a las tablas. |
Macros y consultas | Los objetos afectados se perderán completamente. |
Formularios, informes y Visual Basic | A veces es posible recuperar estos objetos si la herramientas de recuperación recupera objetos huérfanos. Nota: Algunas herramientas no advierten que los datos se han perdido y muestran el nombre de los objetos vacíos de contenido. |
Otros casos
Es posible que ninguno de los ejemplos anteriores se ajuste exactamente a tu caso. Aunque he intentado reunir ejemplos de todo tipo de daños, un archivo podría verse afectado por varios fallos a la vez, o estar dañado de una manera desconocida.
No obstante, la variedad de ejemplos es suficiente para hacerse una idea de la naturaleza de este tipo de fallo, para saber cómo identificar los diferentes casos y para anticipar que resultados se pueden esperar cuando se recuperen los datos.
Si no puedes reparar la base de datos por ti mismo o si al hacerlo pierdes información valiosa, puedes usar un herramienta de recuperación de datos para obtener mejores resultados.
Más información sobre archivos dañados de Access en ACCDB Crash Help.