吾知网

标题: sqlite关于The database disk image is malformed问题的解决 [打印本页]

作者: jekeyhui99    时间: 2017-8-4 11:41
标题: sqlite关于The database disk image is malformed问题的解决

相关博文原址:http://www.cnblogs.com/iguor/archive/2012/08/23/2653442.html

最近被sqlite数据损坏的问题折磨的不行,今天终于找到解决方法了,先开心一小下database disk image is malformed问题的解决" title="sqlite关于The database disk image is malformed问题的解决" style="border: 0px; list-style: none;">。

step1:下载一个sqlite3.exe软件

step2:开始->运行->cmd

       输入:

       sqlite3 old.db(注:损坏的db文件)
       .output tmp.sql
       .dump
       .quit

step3: 由于损坏的数据库dump成sql之后,最后一行变成了ROLLBACK;这里我又去找了一种软件叫做

      “emeditor”,用emeditor把ROLLBACK;改成COMMIT;

step4::好了,现在可以读取数据到新的db了,在cmd界面输入:
       sqlite3 new.db
       .read tmp.sql
       .quit
database disk image is malformed问题的解决" title="sqlite关于The database disk image is malformed问题的解决" style="border: 0px; list-style: none;">问题解决了,new.db中就是恢复好的数据了,有点小不爽的是里面的数据都是重复的database disk image is malformed问题的解决" title="sqlite关于The database disk image is malformed问题的解决" style="border: 0px; list-style: none;">。


ok,现在可以解决重复记录的问题了,我的方法有点笨,我新建了一个与new结构相同的表new1,然后通过sql语句把new中数据复制到new1中,然后删除new。下面的我用到的sql语句:insert into new1 select distinct * from new;







欢迎光临 吾知网 (http://5g99.com/bbs/) Powered by Discuz! X3.2