在另一个程序正在修改的 SQLite 数据库上只读

Nic*_*oul 3 sqlite concurrency

我写了一个程序,它有一个 SQLite 数据库,每隔几秒钟修改一次。

现在我想编写一个小工具程序,它只会从该数据库(只读)读取一些信息并显示它。

第二个程序能否以“只读”方式打开数据库,而第一个程序可能正在修改它?打开数据库时
使用是否Read Only=True足够?
或者我是否必须复制 SQLite 文件或其他内容?
我在sqlite.org上没有找到任何关于此的提示

第二个程序不需要实时信息,它可能有点过时。

Jef*_*eff 5

您正在寻找WAL 模式

WAL 提供了更多的并发性,因为读取器不会阻止写入器并且写入器不会阻止读取器。读和写可以同时进行。