Windows'ta:
tl; dr: Dosyayı yeniden açmayı deneyin.
Sistemimiz bu sorundan muzdaripti ve bu kesinlikle bir izin sorunu değildi, çünkü programın kendisi veritabanını çoğu zaman birçok iş parçacığından yazılabilir olarak açabilir, ancak bazen (yalnızca Windows'ta, OSX'te değil), bir iş parçacığı, programdaki diğer tüm iş parçacıkları herhangi bir zorluk yaşamasa bile bu hataları alacaktır.
Sonunda, başarısız olan iş parçacıklarının yalnızca başka bir iş parçacığı kapatıldıktan hemen sonra veritabanını açmaya çalışanlar olduğunu keşfettik (3 ms içinde). Sorunun, Windows'un (veya windows altındaki sqlite uygulamasının) bir dosyayı kapattıktan sonra dosya kaynaklarını her zaman hemen temizlememesinden kaynaklandığını tahmin ettik. Bunu, açılışta db'ye karşı bir test yazma sorgusu çalıştırarak aştık (örneğin, aptal bir ada sahip bir tablo oluşturup sonra bırakarak). Oluşturma / bırakma başarısız olursa, 50 ms bekledik ve başarılı oluncaya veya 5 saniye geçene kadar tekrar ederek tekrar denedik.
İşe yaradı; Görünüşe göre, kaynakların diske akması için yeterli zaman olması gerekiyordu.