H2 提供了一个恢复工具,可以将损坏的数据库导出为 SQL 脚本,然后通过脚本重建数据库。
1. 定位 H2 的 Jar 包: 在你的应用目录中找到 h2-1.4.200.jar(通常在 WEB-INF/lib 下)。
导出数据为 SQL:
在数据库文件所在目录执行:
java -cp /path/to/h2-1.4.200.jar org.h2.tools.Recover
执行后,会在目录下生成一个 Lams.h2.sql 文件。
2.重建数据库:
删除(或重命名)损坏的旧文件:mv Lams.mv.db Lams.mv.db.corrupt
使用生成的 SQL 文件创建新数据库:
java -cp /path/to/h2-1.4.200.jar org.h2.tools.RunScript -url jdbc:h2:./Lams -user sa -script Lams.h2.sql