The more frequent cause occurs if the device has problems storing the file, thereby spuriously changing the contents of it.
This issue usually stops the UltraLite database from functioning fairly quickly.
The less frequent cause occurs if an error in the UltraLite code fails to maintain an index correctly. These issues can go
undetected for much longer because the change to the results of a query are more subtle.
Checksums are used to detect offline corruption in an UltraLite database, which can help reduce the chances of other data
being corrupted as the result of a bad critical page. If a checksum validation fails when the UltraLite database loads a page,
UltraLite immediately stops the database and reports a fatal error. This error cannot be corrected. Instead you must:
Report the error. It is helpful if you know the sequence of events that caused the corruption to occur, and if the error is
reproducible.
If you need the data, unload the contents of the UltraLite database to a file.
Create a new UltraLite database.
Repopulate the data either by synchronizing or by loading the unloaded data.