5 ms·
Quite a thorny issue! I wish you the best as you look for a good solution.
by domador 10y ago
Quite a thorny issue! I wish you the best as you look for a good solution.
- wila 10y agoThanks! Looks like the manual locking that I added around reading/writing the data is working out OK. Time and a lot of testing will have to tell. Despite all that I still like SQLite a lot. It's so incredibly easy to deploy and runs on all the platforms my app is targeting.
- wila 10y agoAn interesting issue as it turns out. The reason this was happening was not because of SQLite, but due to how the FireDAC driver handles the locking. That driver had a setting "BusyTimeout" which supposedly takes care of a lock waiting time. According to the documentation it has a default timeout setting of 10 seconds. That clearly did not work, I even had set it manually, still to no effect. The other day I figured to try and set this via an SQLite pragma setting... (busy_timeout) I've not seen a "database is locked" issue since then and I've completely removed my manual locking layer, so "case solved" and it certainly wasn't SQLite to blame.