我是Play框架的新手。 我在播放2.4.6的SQL服务器时遇到问题。
文件application.conf
如下所示
db.default.url="jdbc:jtds:sqlserver://127.0.0.1:1433/DBNAME",
db.default.driver=net.sourceforge.jtds.jdbc.Driver,
db.default.user=sa,
db.default.pass=pass
我在jtds-1.2.6 jar
和lib
个文件夹中添加了libexec
。
build.sbt文件如下。
libraryDependencies ++= Seq(
javaJdbc,
"net.sourceforge.jtds" % "jtds" % "1.2.6",
cache,
javaWs
)
fork in run := true
但是当我在http://localhost:9000/访问浏览器时出现以下错误
无法连接到数据库[默认]
请帮助我。
以下是详细的例外:
! @ 700ahko28 - 内部服务器错误,(GET)[/] - > 申请 -
play.api.Configuration $$ anon $ 1:配置错误[无法连接到数据库[默认]] at play.api.Configuration $ .configError(Configuration.scala:154) at play.api.Configuration.reportError(Configuration.scala:806) at play.api.db.DefaultDBApi $$ anonfun $ connect $ 1.apply(DefaultDBApi.scala:48) at play.api.db.DefaultDBApi $$ anonfun $ connect $ 1.apply(DefaultDBApi.scala:42) 在scala.collection.immutable.List.foreach(List.scala:381) at play.api.db.DefaultDBApi.connect(DefaultDBApi.scala:42) at play.api.db.DBApiProvider.get $ lzycompute(DBModule.scala:72) at play.api.db.DBApiProvider.get(DBModule.scala:62) at play.api.db.DBApiProvider.get(DBModule.scala:58) 在com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) 引起:play.api.Configuration $$ anon $ 1:配置错误[池初始化期间出现异常:HikariPool-0 - 连接不可用,请求在30001ms后超时。]
答案 0 :(得分:1)
我在IntelliJ 2016中创建的新Play!2应用程序遇到了类似问题。我从访问同一开发服务器的现有(较旧)应用程序复制了配置,并且正在运行。但是当我在新项目中运行它时,它不再工作并产生非常相似的堆栈跟踪。
经过大量谷歌搜索和多种配置变化后,我发现了这个链接:https://github.com/brettwooldridge/HikariCP/issues/497。当我尝试添加以下应用程序时,application.config突然一切正常:
db.default.hikaricp.connectionTestQuery="SELECT 1"
答案 1 :(得分:0)
要使用的正确属性是username
而不是user
和password
而不是pass
。
属性为here
此外,您的application.conf文件中不需要逗号。在jtds
中提到libraryDependencies
之后,您无需手动将它们放入lib或其他位置。 SBT将拉出它们并将它们放入类路径中。