我正在單元測試中創建一個H2數據庫。該數據庫使用以下屬性:無法瀏覽H2數據庫文件?
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="org.h2.Driver"/>
<property name="url" value="jdbc:h2:file:target/db/testdb"/>
<property name="username" value="sa"/>
<property name="password" value=""/>
</bean>
我正在使用com.h2database.h2
jar文件的版本1.3.166。
當我運行我的測試時,我看到在target/db
目錄中創建的數據庫,並且存在testdb.h2.db
文件。我的測試運行並從數據庫加載數據。我可以打開target/db/testdb.h2.db
文件並查看我用來創建數據庫的SQL語句。
但是,當我嘗試將target/db/testsb.h2.db
文件加載到數據庫瀏覽工具(如DBVisualizer)中時,我看不到任何表或數據。對於DBVisualizer,我指定H2(嵌入式)模式。
我也嘗試了H2控制檯,但show tables
命令返回一個空的結果集。
我看不到我在做什麼錯:數據庫文件存在,測試運行正確,但我無法在數據庫瀏覽器中打開此文件。
有什麼建議嗎?
其實問題是我如何在DBVisualizer中指定文件。它詢問一個數據庫文件,並打開一個文件選擇器對話框,我自然地雙擊了'target/db/testdb.h2.db'文件。但正確的方法是刪除'.h2.db'擴展名。糟糕的UI設計恕我直言。 –
我認爲在H2的下一個市長版本(2.0也許)中將沒有硬編碼的文件名後綴。 –
@JohnQCitizen你贏了我所有的互聯網一週!這是問題。我正在使用數據庫遷移,並無法弄清楚爲什麼表沒有創建。原來,刪除.h2.db沒有辦法。使用ui失敗!並感謝解決方案! – Maik