java derby restoreFrom tidak melakukan apa pun

Saya baru di forum ini (postingan pertama) tetapi saya sering menjelajahinya berkali-kali untuk menemukan trik dan beberapa contoh berguna serta solusi untuk masalah saya.

Sebelum memposting saya telah mencari di seluruh web tentang perintah database derby "restoreFrom" dan saya membaca administrator derby, panduan referensi juga.

Saya berhasil menggunakan dalam program saya pembuatan, pencadangan dan pemeriksaan prosedur derby intergritas, menghubungkan, memutuskan server dan database dll... tetapi tidak ada cara untuk memulihkan sesuatu dengan prosedur bawaan !!!

Ini kode yang bermasalah: Bermasalah? tidak terlalu banyak karena tidak menimbulkan kesalahan apa pun...

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);
}

Ia tidak mengembalikan kesalahan tetapi database tidak dipulihkan, bahkan dengan path lengkap ke direktori cadangan...

Saya telah mencari selama berhari-hari, bantuan apa pun akan sangat membantu!!!

Salam Hormat, Terima kasih telah membaca postingan pemula java ini... :-)

EDIT : MASALAHNYA KEHADIRAN FOLDER .SVN.... SAYA BODOH.... :-) TERIMA KASIH ATAS BANTUAN DAN UMUR PANJANG STACKOVERFLOW !!!


person neuronsoverflow    schedule 17.06.2012    source sumber
comment
Bagaimana Anda mengatasi masalah Anda? Saya mengalami hal yang persis sama dengan Java DB yang tertanam.   -  person Igor    schedule 12.03.2013
comment
BTW, saya tidak dapat menemukan folder .SVN apa pun di sini.   -  person Igor    schedule 12.03.2013


Jawaban (2)


Saya memiliki masalah yang sama dan saya menyelesaikannya, mematikan database terlebih dahulu dan kemudian memulihkannya. Misalnya:

    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);

dan menggunakan coba-tangkap

person Pap Kostis    schedule 28.08.2013
comment
menurut OP, masalahnya ternyata adalah file svn yang tersembunyi, jadi saya berasumsi kode exaju sebenarnya berfungsi dengan baik dengan sendirinya - person ılǝ; 28.08.2013

Anda mungkin harus mempraktikkan pemrosesan pencadangan dan pemulihan menggunakan "ij" terlebih dahulu, kemudian mencoba mengotomatiskannya dalam suatu program. Langkah selanjutnya yang harus dicoba adalah melakukan pencadangan/pemulihan menggunakan driver tertanam, bukan driver klien/server, karena dengan driver klien/server ada kemungkinan pesan kesalahan terkait pencadangan ada di direktori log server di file derby.log. Kemudian ketika Anda menyelesaikan semuanya dalam konfigurasi yang lebih sederhana, Anda akan dapat mengotomatiskan proses pencadangan/pemulihan menggunakan driver klien/server.

person Bryan Pendleton    schedule 18.06.2012
comment
Terima kasih atas saran Anda. Anda benar, langkah selanjutnya adalah merekayasa balik masalah ini. Saya telah berhasil mengujinya dengan ij dan kesalahan yang terjadi adalah pada folder .svn.... Dua minggu untuk kehadiran folder ini, dan tidak ada kesalahan Java... JADI Anda dapat menggunakan bagian dari kode di atas jika Anda menginginkannya berhasil... Terima kasih atas waktu dan bantuan Anda... Salam Hormat - person neuronsoverflow; 18.06.2012