取消

修复sqlite3数据库database-disk-image-is-malformed错误

不知什么原因,发现系统突然不能使用,使用工具连接数据库文件时提示“database-disk-image-is-malformed”错误。


问题

不知什么原因,发现系统突然不能使用,使用工具连接数据库文件时提示“database-disk-image-is-malformed”错误。 能怎么办呢,直接开始解决(百度)。

解决

到C:\Program Files (x86)\Android\android-sdk\platform-tools目录下找到sqlite3.exe文件工具开始一顿如下操作。

  1. 命令行打开sqlite3.exe并读取损坏的文件
sqlite3.exe oldDB

此时进入了sqlite命令行环境

  1. 导出sql语句到临时文件
sqlite>.output tmp.sql
sqlite>.dump
sqlite>.quit
  1. 修改tmp.sql文件 由于数据库文件损坏,所以sqlite自动将tmp.sql最后一行加上了一句Rollback,因此我们需要手动修改tmp.sql文件,将最后一行的Rollback改为Commit;。

  2. 读取tmp.sql并写入到新库中

>sqlite3.exe NewDB
sqlite>.read tmp.sql
sqlite>.quit

一天工资到手,关机下班

原因

正在探索……


参考资料

本文会经常更新,请阅读原文: https://dashenxian.github.io/post/%E4%BF%AE%E5%A4%8Dsqlite3%E6%95%B0%E6%8D%AE%E5%BA%93database-disk-image-is-malformed ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 小神仙 (包含链接: https://dashenxian.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (125880321@qq.com)

登录 GitHub 账号进行评论