User Tools

Site Tools


manual:advanced:map_tools:corrupted_sqlite

This is an old revision of the document!


Corrupted SQLite Database Repair


SQLite databases on Android devices are very stable by definition. However, we have experienced that databases can be corrupted. This may be due to wrong closing the database or killing Locus app. The result is that Locus Map is not able to open the database file or the file deletes itself - this concerns both map files and points/track databases, all are SQLites. Luckily sometimes it is possible to repair such a corrupted database.

How to

Following steps require working with the DOS command line (cmd).

  • Copy corrupted map file (or other sqlite database) from your device to PC
  • Download sqlite-tools from http://www.sqlite.org/download.html
  • Unpack it and place corrupted database file into the same directory as sqlite3.exe
  • Start “cmd” and navigate to the directory with the corrupted file
  • Run
>sqlite3.exe new.db "PRAGMA integrity_check"

to verify database. Result will be probably error message Error: database disk is malformed.

  • Run
>sqlite3 mydata.db ".dump" | sqlite3 new.db
  • If you repeat above integrity check on a new.db file, you should get “OK” message.
  • Try to import the fixed database (i.e. copy fixed tracks.db or waypoints.db to Locus/data/database folder)

For example:

However, this is not always possible. The easiest and most reliable way is to restore the database file from the backup.

manual/advanced/map_tools/corrupted_sqlite.1462271368.txt.gz · Last modified: 2016/05/03 12:29 by mstupka