SQL "SCRIPT"命令备份h2数据库

SQL "SCRIPT" command to backup h2 database

我有一个带有 h2 数据库的应用程序。我想在 Java 中使用 SCRIPT 命令创建 .sql 文件。

如果我使用准备语句执行它:

PreparedStatement stmt = con.prepareStatement("SCRIPT");
ResultSet rs = stmt.executeQuery();

那我怎样才能在单个字符串中得到完整的结果。我是 Java 的新手,所以无法找到获得该查询结果的出路,因为它不包含其中的列名。

然后我会用InputStream.

把它写到文件里

如果你想备份到文件中,你的H2实例的内容作为SQL脚本,可以直接用SCRIPT TO 'path/to/my/file.sql'.

try (Connection con = ...;
     Statement stmt = conn.createStatement()) {
    stmt.executeQuery(String.format("SCRIPT TO '%s'", sqlFilePath));
}

如果您想备份它作为ZIP 存档,您可以使用BACKUP TO 'path/to/my/file.zip'

try (Connection con = ...;
     Statement stmt = conn.createStatement()) {
    stmt.executeQuery(String.format("BACKUP TO '%s'", zipFilePath));
}