2015-09-13 80 views
0

我剛剛開始使用Play框架,但我在執行第一步時遇到了問題。默認情況下,application.conf在內存數據庫作爲其網址在播放框架中連接到本地h2數據庫

db.default.url="jdbc:h2:mem:play" 

我試圖改變這

db.default.url="jdbc:h2:tcp://localhost/c:/Database/MyPlayDB" 

看到這個answer之後,但我的應用程序不會做出這樣的轉變之後運行。這是我得到的錯誤是

Error in custom provider, Configuration error: Configuration error[Cannot connect to database [default]] 

誰能告訴我,如果我需要做任何其他改變或點我在正確的方向?

謝謝!

+0

您能否向我們展示您的META-INF/persistance.xml以及您的application.conf的數據庫部分? – Kris

+0

我的persistance.xml爲空,並且.conf文件具有數據庫 – Aadithya

+0

的[following](https://www.dropbox.com/s/v5u8powqrwpstkx/DB.PNG?dl=0)。url可能是錯誤的。你想將數據庫存儲到本地文件中,對嗎?然後使用'db.default.url =「jdbc:h2:databasefilename」'。 – Kris

回答

2

我想你沒有「在服務器模式下運行H2」。

編輯:

如何在服務器模式運行H2:從H2 Downloading page

  1. 下載H2。我使用「獨立於平臺的Zip」,因爲我目前在Mac上。
  2. 將其解壓縮。讓我們來說說〜/ user/h2(在Windows的情況下爲C:/ h2)
  3. 轉到終端中的解壓文件夾並運行「java -jar bin/h2 * .jar」。在此默認瀏覽器必須使用H2服務器UI控制檯打開之後。 URL就像「http://192.168.0.109:8082/login.jsp?jsessionid=abce6eb1b211a737afe8c2abc6be6390
  4. 您可以運行需要連接到H2的應用程序,例如使用設置db.default.url =「jdbc:h2:tcp:// localhost/c:/ Database/MyPlayDB「

驗證我的本地安裝。

如果我設置的配置,以

db.default.url="jdbc:h2:mem:play" 

我得到了我可以成功運行遊戲「在自定義提供錯誤,配置錯誤:配置錯誤[無法連接到數據庫[默認]」如果設置配置到

db.default.url="jdbc:h2:tcp://localhost/c:/Database/MyPlayDB" 

我可以成功地運行遊戲,如果我運行在服務器模式H2和配置設置爲

db.default.url="jdbc:h2:tcp://localhost/c:/Database/MyPlayDB" 
+0

你能告訴我我需要做什麼才能在H2模式下運行它嗎?另外,我期望在運行我的Play應用程序時創建數據庫文件。所以,我不知道如何在服務器模式下運行H2,如果我沒有數據庫 – Aadithya

+0

閱讀答案 - 它創建,你可以通過地址「jdbc:h2:mem:play」連接到它。問題在於你試圖連接到「jdbc:h2:tcp:// localhost/c:/ Database/MyPlayDB」 - 所以你需要獨立運行h2服務器並配置該db。我建議你使用默認的「jdbc:h2:mem:play」或者閱讀如何將h2作爲服務器運行(鏈接在該接口中) –

+0

我沒有使用內存數據庫的選項。我一直在研究運行h2服務器,但它完全與我們提供的步驟相沖突。顯然這些都不是必需的。 但是,我看着 'import org.h2.tools.Server; //啓動TCP服務器 服務器server = Server.createTcpServer(args).start(); ... //停止TCP服務器 server.stop();' 從文檔中,但我不知道在我的播放應用程序中必須插入的位置。是否給你提供了一些指示燈? – Aadithya