草庐IT

nHibernateHelper

全部标签

c# - 多线程应用程序中的 SQLite "Database is locked"错误

有一个多线程应用程序,适用于大型数据库文件(>600Mb)。当我添加blob数据时,“数据库已锁定”问题开始出现,并且每个请求开始使用>30Kb的BLOB数据进行操作。我认为问题与小型硬盘速度有关。看起来SQLite删除了-journal文件,我的应用程序的一个线程失去了锁定(因为-journal文件被应用和删除),而我的其他线程想要对DB做smth,但是SQLite仍然更新DB文件......当然,我可以在每次数据库调用后延迟一分钟,但这不是解决方案,因为我需要更快的速度。现在我使用session每次session(每个线程)实现。因此每个应用程序对象有一个ISessionFacto

c# - 多线程应用程序中的 SQLite "Database is locked"错误

有一个多线程应用程序,适用于大型数据库文件(>600Mb)。当我添加blob数据时,“数据库已锁定”问题开始出现,并且每个请求开始使用>30Kb的BLOB数据进行操作。我认为问题与小型硬盘速度有关。看起来SQLite删除了-journal文件,我的应用程序的一个线程失去了锁定(因为-journal文件被应用和删除),而我的其他线程想要对DB做smth,但是SQLite仍然更新DB文件......当然,我可以在每次数据库调用后延迟一分钟,但这不是解决方案,因为我需要更快的速度。现在我使用session每次session(每个线程)实现。因此每个应用程序对象有一个ISessionFacto