如何从 play 2.4.6 连接 SQL 服务器

How to connect SQL Server from play 2.4.6

我是 Play 框架的新手。 我在 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 

我在 liblibexec 文件夹中添加了 jtds-1.2.6 jar

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:配置错误[无法连接到数据库[默认]] 在 play.api.Configuration$.configError(Configuration.scala:154) 在 play.api.Configuration.reportError(Configuration.scala:806) 在 play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:48) 在 play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:42) 在 scala.collection.immutable.List.foreach(List.scala:381) 在 play.api.db.DefaultDBApi.connect(DefaultDBApi.scala:42) 在 play.api.db.DBApiProvider.get$lzycompute(DBModule.scala:72) 在 play.api.db.DBApiProvider.get(DBModule.scala:62) 在 play.api.db.DBApiProvider.get(DBModule.scala:58) 在 com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) 原因:play.api.Configuration$$anon$1:配置错误[池初始化期间异常:HikariPool-0 - 连接不可用,请求在 30001 毫秒后超时。]

要使用的正确属性是 username 而不是 userpassword 而不是 pass

属性为here

此外,您的 application.conf 文件中不需要逗号。在 libraryDependencies 中提到 jtds 后,您无需手动将它们放入 lib 或其他地方。 SBT 将拉取它们并将它们放入类路径中。

我在 IntelliJ 2016 中创建的新 Play!2 应用程序遇到了类似的问题。我从访问同一开发服务器的现有(旧)应用程序复制了配置,并且正在运行。但是当我在新项目中 运行 它不再工作并产生非常相似的堆栈跟踪时。

经过多次谷歌搜索和多种配置变体后,我发现了这个 link:https://github.com/brettwooldridge/HikariCP/issues/497。当我尝试添加以下内容时,他 application.config 突然一切正常:

db.default.hikaricp.connectionTestQuery="SELECT 1"