2

私はこのフォーラム (最初の投稿) は初めてですが、私の問題に関するトリックや役立つ例、解決策を見つけるために、何度もこのフォーラムを閲覧していました。

投稿する前に、「restoreFrom」derby データベース コマンドについてウェブ全体を検索し、derby 管理者のリファレンス ガイドも読みました。

私は自分のプログラムで、intergrity derby プロシージャの作成、バックアップ、チェック、サーバーとデータベースの接続、切断などを正常に使用していますが、組み込みプロシージャで何かを復元する方法はありません!!!

問題のあるコードは次のとおりです。エラーをスローしない原因はそれほど多くありません...

try {

    Class.forName("org.apache.derby.jdbc.ClientDriver");
    java.util.Properties props = new java.util.Properties();

    String backup = "." + File.separator + "backup" + File.separator
            + "dbcli";
    System.out.println(backup);

    String nsURL = "jdbc:derby://localhost:1527/dbcli;restoreFrom="
            + backup;
    props.setProperty("user", "root");
    props.setProperty("password", "root");

    dbConnection = DriverManager.getConnection(nsURL, props);
    dbConnection.commit();
    System.out.println("commit");

} catch (SQLException ex) {
    isConnected = false;
    Logger.getLogger(Snapshot.class.getName()).log(Level.SEVERE, null,
            ex);
    System.out.println(isConnected);
} catch (ClassNotFoundException ex) {
    Logger.getLogger(Snapshot.class.getName()).log(Level.SEVERE, null,
            ex);
}

エラーは返されませんが、バックアップディレクトリへのフルパスがあってもデータベースは復元されません...

私は何日も探していました、どんな助けでも素晴らしいでしょう!!!

このJava初心者の投稿を読んでくれてありがとう... :-)

編集:問題は.SVNフォルダーの存在でした....私はとても愚かです.... :-)スタックオーバーフローへの助けと長寿命をありがとう!!!

4

2 に答える 2

1

私は同じ問題を抱えていましたが、最初にデータベースをシャットダウンし、復元した後に解決しました。例えば:

    String nsURL1 = "jdbc:derby://localhost:1527/dbcli;shutdown=true";
    String nsURL2 = "jdbc:derby://localhost:1527/dbcli;restoreFrom="+ backup;
    props.setProperty("user", "root");
    props.setProperty("password", "root");

    DriverManager.getConnection(nsURL1, props);
    dbConnection = DriverManager.getConnection(nsURL2, props);

およびtry-catchの使用

于 2013-08-28T09:15:00.690 に答える
0

まず「ij」を使ってバックアップとリストアの処理を練習してから、プログラムで自動化してみるとよいでしょう。次に試行する手順は、クライアント/サーバー ドライバーではなく組み込みドライバーを使用してバックアップ/復元を行うことです。クライアント/サーバー ドライバーの場合、バックアップに関するエラー メッセージがサーバーのログ ディレクトリにある可能性があるためです。 derby.log ファイル。その後、より単純な構成ですべてが解決されると、クライアント/サーバー ドライバーを使用してバックアップ/復元処理を自動化できるようになります。

于 2012-06-18T13:50:39.080 に答える