2020-06-24 13:57:08.764 [WINGET] CheckQrySelect Exception: [FireDAC][Phys][SQLite] ERROR: database disk image is malformed
One of my moving rules is logging a SQLite error. Some files are processing, but the error was discovered because a select few files aren’t moving. I’m not sure that these failures are related to the error message. The files in question aren’t listed in the log. The rule seems to load OK, as does the file memory database. I’m not sure where else to look.
Q: Can you help me track down the database and resolve the error?
A: This is the first time we received feedback about this error message. It seems the File memory database file is damaged.
We googled a bit and decided to share this in a post.
1.- First we installed the latest (free) version of sqlitebrowser
2.- Check your settings directory. The File Memory file starts with LimagitoX.MemXY.sqlite where XY is the ID of the Rule.
In the example the Rule has ID120 so the File Memory Database file will be LimagitoX.Mem120.sqlite
3.- Copy the damaged File Memory database file first and open it with the installed SQLiteBrowser tool
4.- When opened select Tools > Integrity Check
5.- Click OK to start the Integrity Check
6.- We’re getting error messages so it seems the File Memory database file was damaged. Normally we should get an OK message only.
7.- Export the content of the damaged database to a temporary SQL File. You’ll be asked to name this SQL file (any name is ok).
8.- The File Memory database only contains one table, tblFileMemory
9.- Exporting ..
10.- Export completed
11.- Restart SQLite Browser Tool and select Import, Database from SQL File. Select the SQL file you exported in step 7.
12.- Now you’ll have to set the filename of this new database. It must be the same as the damaged database file. You’ll have to replace this file later.
13.- Import completed
14.- To be sure we did an integrity check on this new database file, result OK
15.- Finally you’ll have to replace the new File Memory database file with the damaged one. You’ll have to stop the LimagitoX Application or Service because the damaged File Memory database file will be locked as long as our File Mover Application or Service is running.
If you need any help with the ‘database disk image is malformed error’, please let us know.