Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 光滑MSSQL“;无法为密钥默认值创建Slick数据库配置;_Sql Server_Scala_Playframework_Slick - Fatal编程技术网

Sql server 光滑MSSQL“;无法为密钥默认值创建Slick数据库配置;

Sql server 光滑MSSQL“;无法为密钥默认值创建Slick数据库配置;,sql-server,scala,playframework,slick,Sql Server,Scala,Playframework,Slick,我很难使用Slick连接到我们的MSSQL数据库 我知道我必须使用光滑的扩展,并且已经这样做了。这里是我们构建的一个摘录 lazy val thirdPartyDependencies = Seq( ... "com.typesafe.slick" %% "slick-extensions" % "3.1.0", "com.typesafe.play" %% "play-slick" % "1.1.

我很难使用Slick连接到我们的MSSQL数据库

我知道我必须使用光滑的扩展,并且已经这样做了。这里是我们构建的一个摘录

lazy val thirdPartyDependencies = Seq(
    ...
    "com.typesafe.slick"    %% "slick-extensions"             % "3.1.0",
    "com.typesafe.play"     %% "play-slick"                   % "1.1.0",
    "com.typesafe.slick"    %% "slick-codegen"                % "3.1.0" % "compile"
)

lazy val allResolvers = Seq(
  "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/",
  "sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases/",
  "Typesafe Releases" at "http://repo.typesafe.com/typesafe/maven-releases/"
)
下面是Slick的application.conf配置

#Slick configuration.
slick.dbs.default.driver=com.typesafe.slick.driver.ms.SQLServerDriver
slick.dbs.default.db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
slick.dbs.default.db.url=${?db.default.url}
slick.dbs.default.db.user=${?sql_user}
slick.dbs.default.db.password=${?sql_password}
我使用
SourceCodeGenerator
工具构建了表定义,没有任何问题。以下是连接到数据库的代码:

val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
我没有任何编译时问题,但在运行代码时遇到以下堆栈跟踪:

[error] play.api.db.slick.DefaultSlickApi - Failed to create Slick database config for key default.
slick.SlickException: Error getting instance of Slick driver "com.typesafe.slick.driver.ms.SQLServerDriver"
       at slick.backend.DatabaseConfig$.forConfig(DatabaseConfig.scala:65) ~[slick_2.11-3.1.0.jar:na]
       at play.api.db.slick.DefaultSlickApi$DatabaseConfigFactory.create(SlickApi.scala:89) [play-slick_2.11-1.1.0.jar:1.1.0]
       ...
Caused by: java.lang.InstantiationException: com.typesafe.slick.driver.ms.SQLServerDriver
       at java.lang.Class.newInstance(Class.java:427) ~[na:1.8.0_45]
       at slick.backend.DatabaseConfig$.forConfig(DatabaseConfig.scala:63) ~[slick_2.11-3.1.0.jar:na]
       ... 22 common frames omitted
 Caused by: java.lang.NoSuchMethodException: com.typesafe.slick.driver.ms.SQLServerDriver.<init>()
       at java.lang.Class.getConstructor0(Class.java:3082) ~[na:1.8.0_45]
       at java.lang.Class.newInstance(Class.java:412) ~[na:1.8.0_45]
       ... 23 common frames omitted
[error]play.api.db.slick.DefaultSlickApi-未能为密钥默认值创建slick数据库配置。
slick.SlickException:获取slick驱动程序“com.typesafe.slick.driver.ms.SQLServerDriver”实例时出错
在slick.backend.DatabaseConfig$.forConfig(DatabaseConfig.scala:65)~[slick_2.11-3.1.0.jar:na]
在play.api.db.slick.DefaultSlickApi$DatabaseConfigFactory.create(SlickApi.scala:89)[play-slick_2.11-1.1.0.jar:1.1.0]
...
原因:java.lang.InstanceException:com.typesafe.slick.driver.ms.SQLServerDriver
在java.lang.Class.newInstance(Class.java:427)~[na:1.8.0_45]
在slick.backend.DatabaseConfig$.forConfig(DatabaseConfig.scala:63)~[slick_2.11-3.1.0.jar:na]
... 省略22个公共帧
原因:java.lang.NoSuchMethodException:com.typesafe.slick.driver.ms.SQLServerDriver。()
在java.lang.Class.getConstructor0(Class.java:3082)~[na:1.8.0_45]
在java.lang.Class.newInstance(Class.java:412)~[na:1.8.0_45]
... 省略23个公共帧

我是个新手。我们有一个商业类型安全许可证,所以我想我们可能应该使用其中提供的一些灵活的功能。感谢您的帮助。

您的
应用程序.conf
配置文件中有问题。尝试在驱动程序名称的末尾添加一个尾随的
$
,告诉Slick将其称为对象:

slick.dbs.default.driver = "com.typesafe.slick.driver.ms.SQLServerDriver$"

请阅读以了解更多信息。

这似乎是Slick找不到您的MSSQL数据驱动程序。