2017-08-18 24 views
1

我試圖從intellij控制檯訪問內存H2數據庫。我正在使用spring boot來配置一切。連接字符串是:spring.datasource.url = jdbc:h2:mem:testdb內存數據庫中的Spring Boot無法從其他工具訪問

當我使用intellij連接到數據庫時,我看不到或查詢表。我可以運行一個create table命令來獲取它,但就是這樣。下面是配置的圖像:

enter image description here

一個SHOW TABLES查詢的結果返回任何內容。

爲什麼我無法連接到此數據庫?

+1

你爲什麼決定你的應用程序不運行你的模式? – Cepr0

+0

我運行了你的代碼和它的工作。我建議在你的屬性文件中啓用h2控制檯: 'spring.h2.console.enabled = true' 'spring.h2.console.path =/console' 這樣你可以從你的數據庫中查詢你的數據庫瀏覽器(* http:// your_path/console *)。 –

+1

它只是從你的日誌:'從類路徑資源執行SQL腳本[schema-h2.sql]' – Cepr0

回答

1

使用像H2或HSQLDB這樣的內存數據庫時,只能從應用程序訪問內存中的實例。

如果你想擁有一個共享數據庫(這樣你就可以看到裏面有什麼),你必須在[server mode] [2]中啓動它,或者使用基於文件的模式(jdbc:h2:~/your-db)。

2

@ m-deinum的答案通常是正確的,因爲它僅在默認情況下適用於應用程序。如果您要訪問從外面的-MEM情況下,你就必須要麼:

並確保應用程序正在運行。否則,你只需要創建另一個in-mem實例。