java derby restoreFrom ничего не делает

Я новичок на этом форуме (первое сообщение), но я много раз просматривал его, чтобы найти хитрости и несколько полезных примеров и решений для моих проблем.

Перед публикацией я провел поиск по всему Интернету о команде базы данных derby «restoreFrom», и я прочитал администратора 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.... Я ТАКОЙ ГЛУПЫЙ.... :-) СПАСИБО ЗА ПОМОЩЬ И ДОЛГОЙ ЖИЗНИ STACKOVERFLOW!!!


person neuronsoverflow    schedule 17.06.2012    source источник
comment
Как вы решили свою проблему? У меня то же самое происходит со встроенной Java DB.   -  person Igor    schedule 12.03.2013
comment
Кстати, я не могу найти здесь папки .SVN.   -  person Igor    schedule 12.03.2013


Ответы (2)


У меня была та же проблема, и я решил ее, сначала отключив базу данных, а затем восстановив ее. Например:

    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

person Pap Kostis    schedule 28.08.2013
comment
согласно ОП, проблема оказалась в скрытых файлах svn, поэтому я предполагаю, что код exaju действительно работал нормально сам по себе - person ılǝ; 28.08.2013

Вероятно, вам следует сначала попрактиковаться в обработке резервного копирования и восстановления с помощью «ij», а затем попытаться автоматизировать это в программе. Следующим шагом является выполнение резервного копирования/восстановления с использованием встроенного драйвера, а не драйвера клиент/сервер, так как с драйвером клиент/сервер сообщения об ошибках, касающиеся резервного копирования, могут находиться в каталоге журналов сервера в папке файл derby.log. Затем, когда вы все отработаете в более простой конфигурации, вы сможете автоматизировать процесс резервного копирования/восстановления с помощью драйвера клиент/сервер.

person Bryan Pendleton    schedule 18.06.2012
comment
Спасибо за совет. Вы правы, следующим шагом было перепроектирование этой проблемы. Я успешно протестировал его с помощью ij, и ошибка была вызвана папкой .svn.... Две недели на наличие этой папки и отсутствие ошибки Java... ТАК, что вы можете использовать часть кода выше, если хотите работает... Спасибо за ваше время и вашу помощь... С наилучшими пожеланиями - person neuronsoverflow; 18.06.2012