2015-09-13 47 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