Tengo un problema con una nueva aplicación en el SDK de iPhone usando SQLite como back-end de DB.imagen de disco de la base de datos sqlite malformada en el SDK de iPhone
Ocasionalmente, mi aplicación dejará de cargar datos en mi UITableViews y después de descargar la base de datos del dispositivo a través del Organizador, puedo acceder a la base de datos SQLite mediante la línea de comandos. Puedo consultar bien ciertas tablas pero no otras sin obtener un error "Error de SQL: la imagen de disco de la base de datos está mal formada". Ver una sesión de SQLite a continuación:
SQLite version 3.6.17
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from user;
1|[email protected]|cpjolicoeur||4d055e38bb1d3758|image/gif|cartoonme_avatar.gif||Craig|Jolicoeur|1|1
sqlite> select * from item;
SQL error: database disk image is malformed
sqlite>
En este ejemplo, mi tabla de usuario funciona bien, pero mi mesa elemento está mal formado, que se corresponde con lo que estoy viendo en mi aplicación en los artículos dont carga. La aplicación no falla, los datos simplemente no se cargan debido a este error mal formado.
¿Alguna idea de por qué sucede esto? Mi único pensamiento es que tal vez la base de datos está siendo corrompida porque estoy escribiendo en la base de datos SQLite a través de un hilo de fondo dentro de la aplicación. Descargo datos de un servidor web a través de NSOperationQueue en un hilo de fondo y actualizo el DB de SQLite con los datos descargados. Escribir un DB en el hilo de fondo (mientras se lee potencialmente del hilo principal) corrompe el DB, o es algo más?
Eliminación de los archivos y Wal SHM totalmente lo hizo por mí! Gracias –