【问题标题】:MS SQL Config With Slick 2.0.1 And Playframework 2.2.2带有 Slick 2.0.1 和 Playframework 2.2.2 的 MS SQL 配置
【发布时间】:2014-04-01 22:59:40
【问题描述】:

当我尝试使用新的专有 MS SQL 驱动程序时,我得到一个异常,归结为驱动程序类的 ClassNotFound。

我同时包含 slick 和 slick-extensions:

"com.typesafe.slick" %% "slick" % "2.0.1",
"com.typesafe.slick" %% "slick-extensions" % "2.0.1"

使用示例:

import com.typesafe.slick.driver.ms.SQLServerDriver.simple._

Database.forURL(url="jdbc:sqlserver://hostname:1433;databaseName=thedb1", driver = "com.typesafe.slick.driver.ms.SQLServerDriver", user="user", password="password" ) withSession { ...

例外:

最终,com.typesafe.slick.driver.ms.SQLServerDriver 的 ClassNotFound。

【问题讨论】:

标签: sql sql-server playframework slick slick-2.0


【解决方案1】:

我遇到了同样的问题,并且能够通过在 application.conf 文件中定义以下行来解决它(感谢 play-slick 贡献者 here 的帮助):

db.default.slickdriver=com.typesafe.slick.driver.ms.SQLServerDriver
db.default.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

或者,您可以使用来自 sourceforge 的 jTDS 驱动程序,如问题 cmets 中所列。

db.default.slickdriver=com.typesafe.slick.driver.ms.SQLServerDriver
db.default.driver=net.sourceforge.jtds.jdbc.Driver

我最终选择了第一个选项,这意味着下载非托管依赖项sqljdbc4.jar(可用here)并将其放在{play app root}/lib 目录中。 由于 jTDS 驱动程序可用作 build.sbt 的库依赖项,因此我建议先尝试该驱动程序。

【讨论】:

  • 小补充:确保使用 play.api.db.slick.DB 而不是 play.api.db.DB,以及在任何访问的控制器方法中使用便利类 DBAction 而不是 Action数据库。
  • 如果在 Play 之外执行此操作,正确的解决方案是什么?我只是引入了 slick + slick-extensions。
猜你喜欢
  • 1970-01-01
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多