如何检查SQLite文件一致性(运行状况检查)
-
29-10-2019 - |
题
我正在Android应用程序中使用SQLite数据库文件,该文件是通过使用以下方法从存储在资产文件夹中的几部分创建的: ReignDesign-在Android应用程序中使用自己的SQLite数据库
在完成assemby过程后,我想检查数据库是否正确合并。我想到了以下方法:
- MD5哈希比较
- 检查表的存在和条目计数
您会推荐哪种方式?有更好的方法吗?
谢谢
菲利普
解决方案
我正在开发的应用程序也有类似情况。有多种方式可以做到这一点;但是最后,我不再担心确切地以及如何最好地衡量数据库完整性,而开始关注“应用程序可以使用我的数据库”。
因此,基本上,我测试是否:1)我可以正确打开SQLite数据库2)我可以在数据库上执行查询,以及3)预定义查询的结果是否返回预期的结果。
因此,基本上:包括一个包含已知ID记录的表,该记录给出您所知道的值,然后尝试读取该值。检查表计数不能指望。
那就是说,我希望这里的一位对DB系统有充分了解的人能够解释a)基因组代码的确切作用,以及b)与手动表检查相比,它的可靠性和有效性。
其他提示
在API 11中, sqlitedatabase 具有 isdatabaseintegrityok ,用于检查SQLite数据库的完整性:
和源代码在此处可行:
很容易在旧设备上备份。
就性能和易于编码而言,我更倾向于第一种方法。
不隶属于 StackOverflow