sqlite关于The database disk image is malformed问题的解决
这两天一个客户的sqlite数据损坏了,我来帮他做恢复。
一般来说,用sqlite3执行以下命令就修复了。
sqlite3 old.db .dump > newsfeed.sql
sqlite3 new.db < newsfeed.sql
但是我尝试了好几次,修复之后的数据库都是0KB的。
几经周折我发现,损坏的数据库dump成sql之后,最后一行变成了ROLLBACK;
好家伙,全给我回滚了啊。
用emeditor把ROLLBACK;改成COMMIT;
再执行sqlite3 new.db < newsfeed.sql
好啦哈哈,终于好了,没有让客户失望。
十年日记 iPhone、iPad、Android、Web
http://www.10riji.com