【发布时间】:2013-03-01 20:49:35
【问题描述】:
我正在使用 SQLite 数据库编写 C# 应用程序,有时会在输出日志中收到消息:Database Locked(5)。我不希望这种情况发生,我知道对我的数据库执行的多个操作会给我这个异常。
问题:
有没有办法查看 SQLiteDatabase 是否正忙于处理其他查询?
【问题讨论】:
标签: c# database visual-studio sqlite
我正在使用 SQLite 数据库编写 C# 应用程序,有时会在输出日志中收到消息:Database Locked(5)。我不希望这种情况发生,我知道对我的数据库执行的多个操作会给我这个异常。
问题:
有没有办法查看 SQLiteDatabase 是否正忙于处理其他查询?
【问题讨论】:
标签: c# database visual-studio sqlite
如果您正在创建多线程应用程序,拥有您要求的知识不会解决任何问题。它们可能会使它们出现的频率降低,但偶尔您会看到与以前相同的问题。
为什么?因为从你问“你被锁了吗?”的那一刻起到你说“在那种情况下,让我锁定你做某事”的那一刻,另一个线程可能已经跳进来锁定它。
除非您遇到超时,否则我会处理异常并确定每种情况下要做什么。
此外,由于 SQLite 本质上是一个单用户(而不是个人用户,而是“使用数据库的东西”中的用户)数据库,您可能会认为这不会成为错误的工具工作。
【讨论】: