用户打开项目时,提示 “sqlite databasedisk image is malformed”,意思是说数据库文件的内部数据格式被损坏了,出现这种问题的概率约为两万分之一,一般有以下几种原因:

1. sqlite数据库在写入时断电;
2. sqlite数据库所存的磁盘空间不够。
3. 磁盘有坏磁道;

4.系统崩溃,数据库回滚日志被删除;

出现这种情况时,尽量不要再次操作数据库了,可用如下方法修复后再使用。

首先导出数据
sqlite3  D:\\my.sqlite3
sqlite>.output D:\\tmp.sql //有的是 .output “tmp.sql”
sqlite>.dump
sqlite>.quit
打开tmp.sql看最后一行,若是Rollback则将其改为Commit, 保存后再导入到一个新库中;
sqlite3 D:\\mynew.sqlite3
sqlite>.read D:\\tmp.sql //有的是 .read “tmp.sql”
sqlite>.quit
这时新生成的数据库mynew.sqlite3一般可用。执行上述命令需先下载Sqlite3.exe放到C:\Windows\system32下,或者打开cmd用cd命令切换到该目录。

公司软件单机版用的sqlite3,一个客户那里半年下来十几个工程文件中有4个都出现了该错误,而其他地方客户暂未出现;用“PRAGMA integrity_check”检查发现,有的是表损坏,有的是索引损坏,有的是缺页,这一个地方报错概率高达20%(两万分之一的概率是忽悠人?),开始怀疑代码问题,仔细检查一遍,由于软件版本各客户都是一致的,暂未找出原因,只能按照上述方法导出sql再导入修复下使用。

sqlite databasedisk image is malformed相关推荐

  1. Sqlite 数据库出现database disk image is malformed报错的解决方法

    Sqlite 数据库出现database disk image is malformed报错的解决方法 参考文章: (1)Sqlite 数据库出现database disk image is malf ...

  2. 修复损坏的SQLite数据库文件(database disk image is malformed)

    文章目录 问题与原因 修复数据库 命令行修复 一.准备 二.命令行打开被损坏的数据库文件 三.导出sql语句到临时文件 四. 修改tmp.sql文件与写入到空数据库中 SQLite Expert Pr ...

  3. sqlite数据库disk image is malformed

    sqlite数据库文件有时候会出现打不开,提示database disk image is malformed 造成的原因有可能是多线程同时读写,磁盘空间不足,还有就是写入数据过程中突然掉电等. 可以 ...

  4. sqlite数据库死亡提示database disk image is malformed的修复经历

    文章目录 前言 一.下载sqlte3.exe 二.使用步骤 1.解压sqlite-tools文件 2.导出受损数据库的数据 3.创建新数据库导入数据到新数据库 总结 前言 SQLite数据因为各种原因 ...

  5. SQLite数据库学习笔记1:报错:The database disk image is malformed

    目录 问题现象: 问题分析: 解决方法: 问题现象: 今天在项目中用到了SQLite数据库,此前并未学习过,因此就简单的了解了一下,很快就遇到了第一个小问题,报错如下: The database di ...

  6. SQLite database disk image is malformed死亡错误及初恢复

    项目中突然遇到远程的嵌入式Linux设备里面上传的数据库打开出现database disk image is malformed死亡错误,提示哪张表出问题了,如下图 一时,脑塞..##¥¥%& ...

  7. 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 ...

  8. springboot sqlite 的疑难解决:The database disk image is malformed

    通常情况下springboot中的配置如下: spring.datasource.driver-class-name=org.sqlite.JDBC spring.datasource.jdbc-ur ...

  9. svn sqlite database disk image is malformed

    今天用svn更新项目的时候,提示"sqlite database disk image is malformed".之前svn更新出错的时候,会清除一下sqlite里面的两张表,就 ...

最新文章

  1. Spring Aop 日志管理及配置文件的详细配置
  2. eclipse报jvm terminated.exitcode=2错误的解决方法
  3. (最新合集)计算机网络谢希仁第七版 第三章课后答案
  4. JEECMS编辑漏洞及随便拿webshell,啊哈哈
  5. android 通知灯 测试,Android灯光系统通知灯【转】
  6. VB中KeyCode常数用法 VB 按键
  7. opencv java水平投影_使用OpenCv中Mat进行水平投影与垂直投影并实现字符切分
  8. 关于iBase4J使用的一点心得体会
  9. android开发骰子动画,Android实现微信摇骰子游戏
  10. DeepFaceLab坑之ffmpeg
  11. java碰撞检测_java – 在oop中实现碰撞检测器的最佳方法
  12. 6种以太坊(ETH)钱包的基本介绍
  13. 给matlab输出excel加表头
  14. vs编译出现 0xC0000005
  15. 分析LFC乐付链系统发展潜力
  16. html微信怎么转发,微信朋友圈怎么转发
  17. 排查链接是否失效_锅炉主保护系统隐患排查与治理
  18. cdr mac majave os_macOS Mojave 10.14 (18A391)官方正式版完整镜像下载
  19. Expires / Cache-Control / Last-Modified / If-Modified-Since / ETag / If-None-Match 区别使用
  20. 20150910互联网产业园_子页面(图文)

热门文章

  1. css 文本超出隐藏显示省略号
  2. 分布式数据库框架有哪些
  3. Haar级联分类器概述
  4. python 多线程 setdaemon_Python线程join和setDaemon
  5. java手势识别技术_Java乔晓松-android中的手势识别的详解
  6. 华为鸿蒙os和EMUI,华为EMUI11.1系统是最后一个EMUI版本吗 华为鸿蒙系统对比EMUI哪个好...
  7. windows服务器双网卡链路聚合_Win10怎样绑定双网卡或多网卡做Nic Teaming链路聚合...
  8. linux如何修改文件权限
  9. Smba文件共享快速搭建
  10. 一文带你了解MySQL之单表访问方法