Procedure to recover a corrupted SQLite3 ArcGIS Mobile cache database

Idea created by lawrencekeefe on May 13, 2015
    • JeanYves.Landry_ERM
    • hetrickn
    • mgwkraus
    • lawrencekeefe
    This document pertains to ArcGIS Mobile databases that has become corrupted. ArcGIS utilises SQLite for most of their mobile databases including Collector on iOS, Collector on Android and ArcGIS for Windows Mobile. This document focuses on corrupted ArcGIS for Windows Mobile cache databases but can probably be utilised for the other platforms as well.

    Download and install the Sqlite3 command line shell program from:
    On Windows 8 Professional I installed:
    Copy the MobileCache.db file to the location where you installed Sqlite – this just makes it easier to work with the database – and you have a copy of the database.
    Run the Sqlite3.exe command line utility.

    In the command line do the following:

    The first line (.open MobileCache.db) opens the cache database. The second to fourth lines scripts the database contents to a text file.
    Close the command line editor with .exit once the dump has completed.

    Open a new Sqlite session again and do the following:

    The first line (.open NewDatabase.db) creates a new database – so make sure this name is unique and does not refer to an existing file in the SQLite directory. The second line (.read dump_all.sql) executes the SQL database script that was created.

    By default the database errors will be skipped and the script will complete and create a new database.

    Copy and rename this new database to MobileCache.db and overrite the original corrupted database in the ArcGIS Mobile project folder. Attempt to open the project with ArcGIS Mobile for Windows or ArcGIS Mobile for Windows Mobile.

    ----------------------------------------------------- end -----------------------------------------------------