У меня есть приложение с базой данных h2
. Я хочу создать файл .sql
используя команду SCRIPT
в Java.
Если я выполняю его с помощью Подготовленного заявления:
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));
}