标签: c database sqlite sqlcipher
我有一个单线程应用程序,只从加密的SQLite数据库中读取数据。加密是使用SqlCipher安全扩展来完成的。此应用程序不会写入此数据库,因为它仅用于参考数据。我们并行运行此应用程序的多个副本,并且都使用相同的数据库。有两个同时复制我们没有问题。当我们增加到八个副本时,我们开始得到一致的“数据库锁定”错误。我们用SQLITE_OPEN_READWRITE标志打开数据库。我们切换到SQLITE_OPEN_READONLY标志并观察到错误。
这似乎不对。为什么在没有写操作时会有独占数据库锁?