在play框架中连接到本地h2数据库

时间:2015-09-13 02:19:55

标签: playframework h2

我刚开始使用Play框架,但是我在执行第一步时遇到了麻烦。默认情况下,application.conf将内存数据库作为其URL

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]]

有人可以告诉我,我是否需要做出任何其他改变或指出我正确的方向?

谢谢!

1 个答案:

答案 0 :(得分:2)

我猜你没有“在服务器模式下运行H2”。

修改

如何在服务器模式下运行H2:

  1. H2 Downloading page下载H2。我使用“平台无关Zip”,因为我目前在Mac上。
  2. 打开包装。让我们说〜/ user / h2(在Windows的情况下为C:/ h2)
  3. 转到终端中的解包文件夹并运行“java -jar bin / h2 * .jar”。必须使用H2服务器UI控制台打开此默认浏览器。网址就像“http://192.168.0.109:8082/login.jsp?jsessionid=abce6eb1b211a737afe8c2abc6be6390
  4. 您可以运行需要连接到H2的应用程序,例如使用设置db.default.url =“jdbc:h2:tcp:// localhost / c:/ Database / MyPlayDB”的Play应用程序
  5. 验证我的本地安装。

    如果我将配置设置为

    ,我可以成功运行播放
    db.default.url="jdbc:h2:tcp://localhost/c:/Database/MyPlayDB" 
    

    我收到“自定义提供程序出错,配置错误:配置错误[无法连接到数据库[默认]]”如果将配置设置为

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

    如果我在服务器模式下运行H2并将config设置为

    ,我可以成功运行播放
    SELECT Id FROM Tb_CompanyType where @EntitiyIds =  '0'
    UNION ALL
    SELECT Item FROM dbo.Split(@EntitiyIds, ',') s where @EntitiyIds <>  '0'