据我从SQLite FAQ中了解到,它支持多个进程读取(SELECT),但在任何时候只支持一个进程写入(INSERT、UPDATE、DELETE)数据库:
SQLite使用读写锁来控制对数据库的访问。 当任何进程想要写入时,它必须在其更新期间锁定整个数据库文件。 但是通常只需要几毫秒钟。其他进程只需等待编写者完成,然后继续他们的业务
我正在使用通过c#调用的System.Data.SQLite适配器。
请问有人能够准确地向我解释这个过程吗?
这个过程是否会自动工作,如果已经有另一个写入 SQLiteCommand 正在执行相同的数据库,那么写入 SQLiteCommand 将简单地等待?
还是它会抛出异常?是什么样的异常?
很抱歉,但我没有找到关于这个机制的信息:)
谢谢。
更新:
我发现一篇帖子说将引发异常并带有特定的错误代码。
这个陈述正确吗?