今天上午在弄一个数据库修复的问题,就是sqlite的数据库打不开,但是数据库中还是有数据的,那么应该如何修复这个数据库呢?我的做法是:
首先,需要导出数据库的脚本。我是通过Sqlite3.exe这个命令行工具实现的具体的操作如图所示:
然后,通过SQL Server 打开脚本文件,我用的SQL Server2005 打开的。
在这个过程中我烦了一个错误,就是我把所有的脚本代码都考到Sqliteadmin里面,希望按照脚本代码生成原来的数据库,其实这是不对,因为Android系统的Sqlite数据库与我们通过脚本生成的数据库是有些不同的,也确实,直接生成的数据库运行到程序中出了异常。那么正确的做法是我们可以通过我所开发的Android软件,让我们所开发的软件生成一个空的数据库,之后导出这个空的数据库,然后把SQL脚本代码中的关于插入数据的代码拷贝到Sqliteadmin中,运行语句就会生成一个无误的数据库了。
通过上面的方法就完成了数据库的修复和数据导出操作了。