2013-07-13 52 views
0

我在服務器模式下運行hsqldb並通過Java連接到它。在我嘗試通過org.hsqldb.lib.tar.DbBackup --extract從備份中恢復數據庫後,數據庫文件被正確替換,但連接似乎只能訪問數據庫的預備份狀態。關閉並重新啓動服務器+連接不起作用;只有在終止Java進程後纔會更新。任何想法可能是什麼原因以及如何解決這個問題?我想在GUI中實時顯示更改,而不強制用戶重新啓動應用程序。hsqldb在備份恢復後沒有變化直到重啓

+0

你是如何備份的? – ALV

回答

1

在服務器運行時,您不應嘗試從備份還原數據庫。

首先SHUTDOWN數據庫,然後恢復,然後重新啓動。

您可以使用remote_open運行服務器,該服務器允許您在不關閉服務器的情況下關閉數據庫。恢復備份後,您只需再次連接到數據庫。

+0

是的,我確實嘗試過,在運行的java進程以某種方式被終止並重新啓動之前,連接仍然沒有得到更新的數據庫內容。 – z3po

+0

您可能沒有關閉數據庫。如果是這樣,連接到舊數據庫將返回一個錯誤,但連接到新數據庫將返回新數據。 – fredt

+0

你說得對,數據庫沒有正確關閉。謝謝 – z3po