SQL“SCRIPT”命令用于备份h2数据库
我有一个h2
数据库的应用程序。 我想在Java中使用SCRIPT
命令创建.sql
文件。
如果我使用Prepared Statement执行它:
PreparedStatement stmt = con.prepareStatement("SCRIPT"); ResultSet rs = stmt.executeQuery();
那么我怎样才能在单个String中获得整个结果。 我是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)); }