我最近遇到了一个问题,一些利用SQLite的应用程序在服务器关闭时出现了腐败问题。知道这不是硬件问题,我想找到问题的根源。
在发生损坏之后,我已经拍摄了其中一个SQLite数据库的快照,希望我能够从中学到一些东西。
我对数据库进行了pragma_integrity检查,并且所做的只是返回"错误:数据库磁盘映像格式错误" - 这正是输出到应用程序日志中的内容。
此检查是否有详细模式?我在SQLite文档中看不到任何内容。
另外还有什么我可以用来分析数据库吗?
答案 0 :(得分:1)
> ((weighted-sum 1) 5)
5
> ((weighted-sum 1/2 1/2) 3 1)
2
是与integrity_check
相比的详细表单,尽管您可以使用quick_check
指定在完成之前返回的错误数(默认值为100,即没有integrity_check(n)
})。
在您的情况下,您似乎只会收到单个错误,因此使用(n)
可能不会产生任何影响。
也许这些链接可能有用
基本上他们说尝试使用SQLite工具导出数据库。
如果您使用Google integrity_check(n)
,则会有更多信息。
您可能还会感兴趣How To Corrupt An SQLite Database File 。