sqlite 数据库错误 The database disk image is malformed database disk image

收银机上的sqlite数据库经常出现这种错误,错误的原因有可能是突然断电或是一些不规范操作导致的。

网上一般的做法有两种:

方法一:

1、在https://www.sqlite.org/download.html网站上下载sqlite-tools工具,我下载的是

    http://sqlite-tools-win32-x86-3250300.zip

2、解压上面的压缩包,并在命令行模式下进入该目录运行sqlite3.exe

3、打开损坏的数据库文件

.open d:/CloudPos.db

4、进行检测

PRAGMA integrity_check;

5、设置导出文件为tmp.sql

.output d:/tmp.sql

6、将CloudPos.db中的内容以sql方式导出到tmp.sql

.dump 

7、创建temp.db数据库

.open d:/temp.db 

8、从tmp.sql中导入数据

.read d:/tmp.sql 

9、退出

.quit 

  

方法二:

使用SQLite Expert Professional工具提供的repair来修复db文件

原文地址:https://www.cnblogs.com/jkko123/p/10027364.html