我在.NET应用程序中使用Windows中的SQLite。 .NET应用程序正在使用Open Source System.Data.SQLite库。
在我的应用程序中,有许多线程访问同一个数据库。最好是:
我最初选择#2但在从其他线程访问连接时遇到与事务相关的随机/间歇性错误。我已经转移到选择#1并且错误已经消失。
答案 0 :(得分:3)
根据SQLite FAQ,最新版本的SQLite允许多个线程使用相同的连接,但是其中只有一个可以同时拥有一个事务。
我不知道对一次可能处于活动状态的连接数有任何内置限制。
我建议设置一个拥有连接的“数据库线程”,并代表其他线程执行任务。这就是我在.NET 4 SQLite过程中所做的,而且效果非常好。
P.S。如果你有兴趣,我最近写了一篇关于using SQLite via Entity Framework 4的博文。