SQLite3:在某种情况下,数据库磁盘映像格式不正确

时间:2013-05-28 09:10:30

标签: sqlite

关注

  • SQLite 3.7.12.1 / C ++
  • SQLITE_OS_OTHER = 1(提供同步方法)
  • SQLITE_THREADSAFE = 1
  • journal_mode = MEMORY;

方案

  1. 数据库池“A”,在RAM中创建表A1(r / w)。
  2. DB Pool“B”,在flash / hdd上创建FTS4表B1(r / w)。 A1以只读方式附加到此池中。
  3. A1 会在一个帖子(交易)中不断更新。 B1 在其他线程(事务)中更新,但更新取决于A1查询选择。更新B1(插入/更新/删除)并同时修改A1时,多次出现以下错误:“数据库磁盘映像格式错误”,下一次事务失败并显示错误:“无法在事务中启动事务”。

    问题

    导致第一个错误的原因是什么? A1在B1查询中是只读的。虽然交易是独立的,但不需要同步。当我将所有事务与外部互斥锁同步时,不会出现此错误。

0 个答案:

没有答案