简体   繁体   English

SQL“ SCRIPT”命令备份h2数据库

[英]SQL “SCRIPT” command to backup h2 database

I have an application with h2 database. 我有一个带有h2数据库的应用程序。 I want to create .sql file using SCRIPT command in Java. 我想在Java中使用SCRIPT命令创建.sql文件。

If I am executing it using Prepared Statement: 如果我使用Prepared语句执行它:

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

Then how can I able to get whole result in single String. 然后,如何才能在单个String中获得整个结果。 I am new to Java so unable to find the way out to get result of that query because it doesn't contains column names in it. 我是Java新手,因此无法找到获取该查询结果的出路,因为它不包含列名。

Then I will write it in file using InputStream . 然后,我将使用InputStream将其写入文件中。

If you want to backup into a file, the content of your H2 instance as a SQL script , you can directly use SCRIPT TO 'path/to/my/file.sql' . 如果要将备份H2实例的内容作为SQL脚本 备份到文件中,则可以直接使用SCRIPT TO 'path/to/my/file.sql'

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

If you want to backup it as a ZIP archive , you can use BACKUP TO 'path/to/my/file.zip' . 如果要将其备份ZIP存档 ,则可以使用BACKUP TO 'path/to/my/file.zip'

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM