Hello, I am working on a project in c# using the sqlite .NET wrapper from sourceforge (http://sourceforge.net/proojects/adodotnetsqlite). I'm seeing lots of locking exceptions and was wondering if that was to be expected given the scenario.
I have multiple threads accessing the database, averaging 2 writes per second (with occasional bursts of 10 per second) and occasional reads from other threads. Updating to sqlite v 3.2.2 reduced the frequency of lock errors significantly, but I am still seeing some locking issues. During an 8 minute test in which 540 records were written I got 4 database lock errors, they seem to be in pairs so let's say 2 independent lock errors that occurred about 2 minutes apart. At the end of the test while there were still records being written I performed actions that caused SELECT statements to be executed in close proximity. This caused 2 database lock issues also. I have tried the following to alleviate the lock problems but am still having them - Having the .NET wrapper set pragma synchronous to "off" when opening a connection: still getting lock issues - Sending a pragma synchronous="off" command through the connection each time one is opened: reduces locked database errors even further - Increased the command timeout to 5 sec (what I understand to be the amount of time the command will retry if a lock is encountered) This seems like more locking than I would expect. Is this normal sqlite behavior or these unusual results indicating something incorrectly implemented in my project? Thank you Twinkle

