我有一个带有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));
}
关于java - SQL "SCRIPT"命令备份h2数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40592133/