记一次:sqlit3恢复database disk image is malformed

前言:在笔者同事使用sqlit3的时候发生了database disk image is malformed错误,打开后发现db文件库没有问题,但其中一个表提示了这个问题,于是乎就有了这篇文章

步骤一、验证db文件库能不能打开

使用的是navicat验证打开的库,点击其中的一个表提示了错误

步骤二、需要安装sqlite-amalgamation-3460100工具

步骤三、将损坏的db文件放入这个工具文件夹下

步骤四、在此目录下打开cmd命令工具

步骤五、执行命令将损坏的数据库导出为 SQL 文件

sqlite3 "xxx.db" .dump > newsfeed.sql

步骤六、查看导出sql文件

打开导出的sql文件查看损坏的表数据是否已经导出

此时就已经成功了,我们在重新建表或者在导入回去都无所谓了。因为sql语句已经存在了。

步骤七、导入新表

sqlite3 new.db < newsfeed.sql

注意、sql文件中若导出的 SQL 文件最后一行是 ROLLBACK;,请将其修改为 COMMIT;,然后再次导入。

从新打开成功

错误原因分析:

查看官方解释如下

后面若有db库文件损坏或其它错误会再次更新

相关推荐
麦聪聊数据4 小时前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_4 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡5 小时前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧5 小时前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon5 小时前
SQL学习指南——视图
数据库·sql
活宝小娜5 小时前
mysql详细安装教程
数据库·mysql·adb
贤时间5 小时前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心6 小时前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
2601_962072556 小时前
李梦娇常识4600问|题库|打印版
sql·华为od·华为·c#·华为云·.net·harmonyos