你如何确定.sqlite或.sqback在Java中是否已损坏?

你如何确定.sqlite或.sqback在Java中是否已损坏?,第1张

概述我得到了一个目录目录,每个目录都包含我必须解析的.sqlite和.sqback文件的集合. 问题是我相信这些文件中的一些在我收到它们时会被破坏,因为我收到错误: 错误:[SQLITE_CORRUPT]数据库磁盘映像格式错误(数据库磁盘映像格式错误) 在我尝试处理它们时在我的控制台上.这只发生在某些文件中.我已经隔离了一些,并尝试单独运行我的程序在这些坏文件的新副本上,它们会导致错误.大多数文件虽然 我得到了一个目录目录,每个目录都包含我必须解析的.sqlite和.sqback文件的集合.

问题是我相信这些文件中的一些在我收到它们时会被破坏,因为我收到错误:
错误:[sqlITE_CORRUPT]数据库磁盘映像格式错误(数据库磁盘映像格式错误)
在我尝试处理它们时在我的控制台上.这只发生在某些文件中.我已经隔离了一些,并尝试单独运行我的程序在这些坏文件的新副本上,它们会导致错误.大多数文件虽然很好:)

我意识到我有可能确实会被给予损坏的文件,所以我想在尝试解析它们之前确定哪些文件好,哪些文件不好.

我是用Java写的.我只对sqlite和sqback验证感兴趣,因为我知道我的解析器工作.我正在重复使用以前的项目.

暗示?建议?答案?

非常感谢知识转移.

像普通的SQL查询一样运行PRAGMA quick_check.结果与包含字符串的单列表相同;对于一个完整的数据库,你得到一行说“ok”,对于一个损坏的,一堆错误消息.
sqlite> pragma quick_check;ok

更改文件中的一些字节后:

sqlite> pragma quick_check;*** in database main ***Page 64: btreeInitPage() returns error code 11On tree page 40 cell 23: Child page depth differsOn tree page 40 cell 24: Child page depth differs

无法保证会发现错误.

总结

以上是内存溢出为你收集整理的你如何确定.sqlite或.sqback在Java中是否已损坏?全部内容,希望文章能够帮你解决你如何确定.sqlite或.sqback在Java中是否已损坏?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存