¿Cómo determinas si una .sqlite o .sqback está dañada en Java?

Se me ha dado un directorio de directorios cada uno que contiene una colección de archivos. Sqlite y sqlite que debo analizar.

El problema es que creo que algunos de estos archivos están dañados cuando los recibo porque obtengo el error: ERR: [SQLITE_CORRUPT] La imagen del disco de la base de datos es malformada (la imagen del disco de la base de datos es malformada) en mi consola cuando intento procesarlos . Esto sólo ocurre con algunos de los archivos. He aislado algunos y he intentado ejecutar mi programa en copias frescas de estos archivos malos individualmente y causan errores. La mayoría de los archivos están bien aunque 🙂

Me di cuenta de que existe la posibilidad de que de hecho pueda ser dado archivos corruptos para empezar, así que me gustaría una manera de determinar, antes de tratar de analizarlos, qué archivos son buenos y cuáles no.

Estoy escribiendo en Java. Sólo estoy interesado en la validación sqlite y sqback como sé que funciona mi analizador. Lo estoy reutilizando de un proyecto anterior.

¿Insinuación? Sugerencias? ¿Respuestas?

Muchas gracias por la transferencia de conocimiento.

One Solution collect form web for “¿Cómo determinas si una .sqlite o .sqback está dañada en Java?”

Ejecute PRAGMA quick_check como una consulta SQL normal. El resultado es el mismo que una tabla de una columna que contiene cadenas; Para una base de datos intacta, obtendrá una sola fila diciendo "ok", para un corrupto, un montón de mensajes de error.

 sqlite> pragma quick_check; ok 

Después de cambiar algunos bytes en el archivo:

 sqlite> pragma quick_check; *** in database main *** Page 64: btreeInitPage() returns error code 11 On tree page 40 cell 23: Child page depth differs On tree page 40 cell 24: Child page depth differs 

No hay ninguna garantía de que se encuentren errores.

  • Base de datos no visible en la carpeta DDMS cuando se utiliza el dispositivo real en lugar del emulador
  • SQLiteAssetHelper NullPointerException sólo en algunos dispositivos
  • Caracteres especiales de Android Sqlite
  • ¿Qué hacer con Cursor después de una consulta SQLite?
  • Cómo rellenar una base de datos SQLite con datos de un archivo xml?
  • HTML5 SQLite vs Base de datos nativa en caso de PhoneGap
  • Cláusula IN y marcadores de posición
  • SQLiteException: Token no reconocido al leer de la base de datos
  • SQLiteConstraintException: código de error 19: falla de restricción
  • Android.database.sqlite.SQLiteException: cerca de "ce": error de sintaxis (código 1):, mientras compila: INSERT INTO
  • ¿Cuán cuidado debo tener con el hilo de seguridad al crear métodos / actividades que interactúan con la base de datos SQLite?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.