带有Slick 2.0.1和Playframework 2.2.2的MS SQL配置
当我尝试使用新的专有MS SQL驱动程序时,我得到一个异常,它归结为驱动程序类的ClassNotFound 我包括光滑和光滑扩展:带有Slick 2.0.1和Playframework 2.2.2的MS SQL配置,sql,sql-server,playframework,slick,slick-2.0,Sql,Sql Server,Playframework,Slick,Slick 2.0,当我尝试使用新的专有MS SQL驱动程序时,我得到一个异常,它归结为驱动程序类的ClassNotFound 我包括光滑和光滑扩展: "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
"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 我遇到了同样的问题,并通过在application.conf文件中定义以下几行来解决它(感谢play slick贡献者的帮助): 或者,您可以使用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的库依赖项提供,我建议首先尝试使用它。似乎是答案。要在Playframework 2.2.x中将Slick 2.0连接到Microsoft SQL Server,请使用play Slick>=0.6.0()和来自Microsoft的JDBC SQL驱动程序(com.Microsoft.sqlserver.JDBC.SQLServerDriver)。play slick有一个示例应用程序:这个问题涉及sqlserver使用的正确驱动程序:显然驱动程序配置需要同时指定MS JDBC驱动程序和slick扩展中的驱动程序?db.default.flickdriver=com.typesafe.slick.driver.ms.SQLServerDriver db.default.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver事实证明,您也可以使用开源jTDS驱动程序。(通过将db.default.driver设置为net.sourceforge…并将db.default.slickdriver设置为Slick驱动程序)次要添加:确保使用play.api.db.Slick.db而不是play.api.db.db,以及方便类DBAction,而不是访问数据库的任何控制器方法中的Action。如果在游戏之外执行此操作,正确的解决方案是什么?我只是拉了个平滑的扩展。
db.default.slickdriver=com.typesafe.slick.driver.ms.SQLServerDriver
db.default.driver=net.sourceforge.jtds.jdbc.Driver