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
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/willaty/articles/8022094.html
https://blog.csdn.net/fangye945a/article/details/94762526
https://blog.csdn.net/weixin_34187822/article/details/86027770
来源:CSDN
作者:周小董
链接:https://blog.csdn.net/xc_zhou/article/details/103758326