【发布时间】:2015-05-16 14:20:33
【问题描述】:
我正在尝试创建我的应用程序数据库内容的备份,并且对于大多数设备来说它工作正常,但有些设备默认启用了 wal 模式,这会导致问题。从我读过的所有内容中,调用“pragma wal_checkpoint”应该将 -wal 文件的内容刷新到我所追求的主数据库文件中。将内容刷新到主 db 文件,然后复制 db 文件进行备份。我在打电话
db.rawQuery("pragma wal_checkpoint;", null);
但它似乎不起作用。有什么想法吗?
【问题讨论】:
-
执行
pragma wal_checkpoint;将返回一行三列。您可以检查这些列值以确定调用的确切结果。例如,来自文档第三列是在检查点结束时已成功移回数据库文件的预写日志文件中的页数。 -
通过 sql 命令提示符运行命令按预期工作,但来自我的应用程序内部的命令没有。