4

当我尝试使用新的专有 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。

4

1 回答 1

3

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

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

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

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

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

于 2014-04-30T23:39:47.477 回答