2016-11-14 23 views
1

h2データベースを持つアプリケーションがあります。 JavaでSCRIPTコマンドを使用して.sqlファイルを作成します。h2データベースをバックアップするSQL "SCRIPT"コマンド

私はプリペアドステートメントを使用してそれを実行していた場合:次に

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

どのように単一の文字列で、全体の結果を得ることができます私ができます。私はJavaに新しいので、その中に列名が含まれていないため、そのクエリの結果を得る方法を見つけることができません。

次に、InputStreamを使用してファイルに書きます。

答えて

2

ファイルにバックアップにしたい場合は、SQLスクリプトとしてごH2インスタンスのコンテンツ、あなたは直接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)); 
} 
+0

これで、ファイルに移動する方法がわかりました。それを試して更新します。 –

+1

正常に動作しますが、stmt.executeUpdateをstmt.executeQueryに置き換える必要があります –

関連する問題