[747]SQLite-database disk image is malformed问题

SQLite-database disk image is malformed,此句英文的意思是数据库文件损坏。

怎么证明SQLite数据库文件损坏呢?

首先sqlite3 database_name进入数据库

然后运行命令 PRAGMA integrity_check;

如果数据库文件损坏就会报损坏的错误,如何数据库文件是完好的就会显示OK。

遇到这个问题怎么解决?

网上一般的做法有两种:

方法一:

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

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

image

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

代码语言:javascript
复制
.open d:/CloudPos.db

4、进行检测

代码语言:javascript
复制
PRAGMA integrity_check;

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

代码语言:javascript
复制
.output d:/tmp.sql

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

代码语言:javascript
复制
.dump 

7、创建temp.db数据库

代码语言:javascript
复制
.open d:/temp.db 

8、从tmp.sql中导入数据

代码语言:javascript
复制
.read d:/tmp.sql 

9、退出

代码语言:javascript
复制
.quit 

方法二:

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

image

参考:https://www.cnblogs.com/willaty/articles/8022094.html https://blog.csdn.net/fangye945a/article/details/94762526 https://blog.csdn.net/weixin_34187822/article/details/86027770