我有一个带有 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/47891141/