sqlite3数据库提示database disk image is malformed 解决办法
在嵌入式产品中,用sqlite3进行数据存储是非常常用且有效的方法。
但是最近在项目中遇到了数据库被损坏的情况,具体表现为使用数据库管理软件打开数据库后,使用sql语句对数据进行处理时,提示 database disk image is malformed ,如下图所示:
使用sqlite3命令行查询数据条数:
使用SQLite Expert查询数据条数:
解决办法:
1、使用数据库管理工具进行修复
安装SQLite Expert Professional数据库管理软件,参考:https://blog.csdn.net/fangye945a/article/details/96908513
使用SQLite Expert Professional 打开数据库,点击Database选项页,点击Repair按键进行修复。
选择new file,指定修复完成的数据库目标路径,点击start按钮开始修复,如果数据库比较大,耐心等待即可。
修复完成的数据库如下所示:
2、通过终端命令行对数据库进行修复
1、使用sqlite3命令打开损坏的数据库,将关键数据导出到临时文件。
sqlite3 db20190704_001.db3
sqlite>.output tmp.sql
sqlite> .dump
sqlite> .quit
2、将临时文件导入到新的数据库。
sqlite3 repair.db3
sqlite>.read tmp.sql
sqlite>.quit
若在执行.output tmp.sql时报错,但是数据导出大部分了,使用Notepad++打开临时文件tmp.sql即可看到一条条SQL语句。
按照损坏的数据库表格式创建新的空数据库,将数据库导出到临时文件,比对两个临时文件,即可看到损坏的地方。SQL语句拷贝到新建的临时文件中即可。
打开新生成的数据库,执行步骤2,对手动修改好的临时文件进行读取操作,即可完成修复。
修复完成后,执行SQL语句:
sqlite3数据库提示database disk image is malformed 解决办法相关推荐
- 解决SQLite3数据库Error: database disk image is malformed
解决SQLite3数据库Error: database disk image is malformed 比如数据库:test.db 情况一: sqlite3 test.db ".dump&q ...
- Sqlite 数据库出现database disk image is malformed报错的解决方法
Sqlite 数据库出现database disk image is malformed报错的解决方法 参考文章: (1)Sqlite 数据库出现database disk image is malf ...
- FMDB数据库损坏 database disk image is malformed, code:11
FMDB数据库损坏 database disk image is malformed, code:11 使用FMDB数据库的时候,有时会遇到 数据库损坏的问题,FMDB又没有提供修复工具,导致App数 ...
- sqlite数据库死亡提示database disk image is malformed的修复经历
文章目录 前言 一.下载sqlte3.exe 二.使用步骤 1.解压sqlite-tools文件 2.导出受损数据库的数据 3.创建新数据库导入数据到新数据库 总结 前言 SQLite数据因为各种原因 ...
- 修复损坏的SQLite数据库文件(database disk image is malformed)
文章目录 问题与原因 修复数据库 命令行修复 一.准备 二.命令行打开被损坏的数据库文件 三.导出sql语句到临时文件 四. 修改tmp.sql文件与写入到空数据库中 SQLite Expert Pr ...
- database disk image is malformed解决方法
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 作者:朱 ...
- sqlite错误 The database disk image is malformed database disk image is malformed 可解决
以下为原文. http://www.sunnyu.com/?p=201 SQLite有一个很严重的缺点就是不提供Repair命令. 导致死亡提示database disk image is malfo ...
- SQLite数据库学习笔记1:报错:The database disk image is malformed
目录 问题现象: 问题分析: 解决方法: 问题现象: 今天在项目中用到了SQLite数据库,此前并未学习过,因此就简单的了解了一下,很快就遇到了第一个小问题,报错如下: The database di ...
- SQLite database disk image is malformed死亡错误及初恢复
项目中突然遇到远程的嵌入式Linux设备里面上传的数据库打开出现database disk image is malformed死亡错误,提示哪张表出问题了,如下图 一时,脑塞..##¥¥%& ...
最新文章
- oracle 输出重复记录,ORACLE 去除重复记录
- 听说redux和react-redux在写项目中更配哦
- 『Lucas定理以及拓展Lucas』
- 如何防御DDoS攻击
- 用户操作-用户添加流程分析
- c++ vector拷贝构造_vector------stl学习笔记一
- 如何在 ASP.NET Core 中为 gRPC 服务添加全局异常处理 ?
- mysql版本查询命令
- EXCEL【数据处理之数据抽取——字段拆分】
- RTOS 入门资料 整理
- springboot基于java的邮件收发管理系统毕业设计源码101025
- 裴波那契数列的递归和动态规划算法
- 浏览器怎么录制网页视频?3种网页视频录制方法
- C++OpenCV系统学习(3)——图像混合、调整亮度与对比度
- 浏览器搜索去除广告项
- 清华应届程序员同时被5家公司录取,晒出工资,网友:羡慕
- 实现自定义小圆圈加载
- 【P02】47耳放的优化版本,全资料下载
- 「近世代數概論」(Garrett Birkhoff,Saunders Mac Lane) 3.1.1 引理2
- android与华为窄带物联网,中国移动联合华为在成都布局窄带物联网
热门文章
- javascript获取系统时间时区_javascript获取系统当前时间的方法
- WPF通用枚举值转枚举名称转化器
- 太原免费学计算机,太原锦华计算机学校官网-山西专业的电脑学校,专注电脑教育16年,电脑培训就选择锦华电脑学校...
- python-同步、异步io
- java中平方的表达式_JAVA语言中的运算符和表达式
- php实现Stripe支付
- artDialog基本使用
- pivot sqlserver 条件_SqlServer PIVOT函数快速实现行转列,UNPIVOT实现列转行
- 开源操作系统 LineageOS 16.0 发布,基于 Android 9 开发
- linux下单机版zookeeper安装