我用自己的程序創建了數據庫,它顯示爲mydatabase.mv.db
文件。如何訪問H2數據庫的* .mv.db文件?
但是,當我試圖訪問與DbVisualizer
相同的數據庫,顯然相同的參數,它創建了兩個文件mydatabase.lock.db
和celebrity.h2.db
,並沒有看到在程序中創建的表。
什麼是不兼容?
UPDATE
兩種設置是如下:
我用自己的程序創建了數據庫,它顯示爲mydatabase.mv.db
文件。如何訪問H2數據庫的* .mv.db文件?
但是,當我試圖訪問與DbVisualizer
相同的數據庫,顯然相同的參數,它創建了兩個文件mydatabase.lock.db
和celebrity.h2.db
,並沒有看到在程序中創建的表。
什麼是不兼容?
UPDATE
兩種設置是如下:
在H2 1.3.x版,數據庫文件<databaseName>.h2.db
是默認的。 (使用存儲引擎「PageStore」)。
在H2版本1.4.x中,數據庫文件<databaseName>.mv.db
是默認值。 (使用存儲引擎「MVStore」)。 MVStore現在仍在測試階段(2014年11月)。但是,您可以通過將;mv_store=false
附加到數據庫URL來禁用MVStore。
我可以確認'1.4.190'版本的h2將創建一個'
我認爲你使用的是舊版本1.4.190,或者數據庫已經存在。你可以通過運行'select * from information_schema.settings'來檢查'%BUILD%'的名字嗎?在版本1.4.190中,結果('CREATE_BUILD'是用於創建數據庫的版本,'info.BUILD_ID'是當前版本)會得到'190'兩倍。順便說它是'MV_STORE'而不是'MC_STORE'。 – 2015-12-04 08:22:47
對不起,我發現它是由之前創建的數據庫引起的(沒有MVCC = TRUE)。如果'
接受的答案是幾年來老,因爲其他人可能會尋找一個更「當前」的解決方案...
得到它只是工作更新DBVizualizer使用H2 JDBC驅動程序。基本上從http://www.h2database.com/html/download.html下載「Platform-Independent Zip」,然後將h2/bin/h2-X.X.X.jar
文件複製到~/.dbvis/jdbc/
,然後重新啓動DBVizualizer,以便它可以獲取更新的驅動程序。
此外,在DBVizualizer中設置數據庫文件名時,請確保從文件名中刪除.mv.db
。
什麼是您的程序和'DbVisualizer'使用的連接細節? – MadProgrammer 2014-11-24 00:53:08
嘗試並確保路徑使用'/'而不是'''(在'DbVisualizer'中) – MadProgrammer 2014-11-24 01:00:37
爲方便起見,追加'; IFEXISTS = TRUE'以避免創建虛假的數據庫文件,正如建議的[here](http:/ /stackoverflow.com/a/2443685/230513)。 – trashgod 2014-11-25 10:33:58