2013-12-20 28 views
0

我正在尝试使用Play Framework 2.2和Scala构建应用程序。JDBC连接字符串在Play Framework上不能与MySQL一起工作

我不太了解Java环境,所以我不知道到底发生了什么。

,使其与MySQL的,我应该配置我conf/application.conf这样的:

db.default.driver=com.mysql.jdbc.Driver 
db.default.url="jdbc:mysql://localhost:3306/sakila" 
db.default.user=root 
db.default.password="mypass" 

一切似乎是正确的我,但是当我试图访问它,我得到这个:

Cannot connect to database [default] 

为什么?这些信息是正确的!数据库可以在localhost:3306/sakila找到。

我在做什么错?

编辑:这是我的堆栈跟踪。它似乎缺少mysql连接器.jar文件,或类似的东西。我该怎么办?

[成功]编译734ms [错误] c.j.b.h.Abs​​tractConnectionHook - 无法获得初始连接Sle eping for 0ms并重试。尝试离开:0异常:null.Message:没有自成一 表司机发现为MySQL://本地主机:3306 /世界 [错误]应用 -

! (GET)[/]内部服务器错误 - >

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [ 
default]] 
     at play.api.Configuration$.play$api$Configuration$$configError(Configura 
tion.scala:92) ~[play_2.10.jar:2.2.1] 
     at play.api.Configuration.reportError(Configuration.scala:570) ~[play_2. 
10.jar:2.2.1] 
     at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) ~[pla 
y-jdbc_2.10.jar:2.2.1] 
     at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:243) ~[pla 
y-jdbc_2.10.jar:2.2.1] 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike 
.scala:244) ~[scala-library.jar:na] 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike 
.scala:244) ~[scala-library.jar:na] 
Caused by: java.sql.SQLException: No suitable driver found for mysql://localhost 
:3306/world 
     at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07] 
     at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07] 
     at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363) 
~[bonecp.jar:na] 
     at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416) ~[bonecp.jar:na] 
     at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.jav 
a:120) ~[bonecp.jar:na] 
     at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:245) ~[pla 
y-jdbc_2.10.jar:2.2.1] 
[error] application - 

! @6gjp5p29b - Internal server error, for (GET) [/] -> 

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [ 
default]] 
     at play.api.Configuration$.play$api$Configuration$$configError(Configura 
tion.scala:92) ~[play_2.10.jar:2.2.1] 
     at play.api.Configuration.reportError(Configuration.scala:570) ~[play_2. 
10.jar:2.2.1] 
     at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) ~[pla 
y-jdbc_2.10.jar:2.2.1] 
     at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:243) ~[pla 
y-jdbc_2.10.jar:2.2.1] 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike 
.scala:244) ~[scala-library.jar:na] 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike 
.scala:244) ~[scala-library.jar:na] 
Caused by: java.sql.SQLException: No suitable driver found for mysql://localhost 
:3306/world 
     at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07] 
     at java.sql.DriverManager.getConnection(Unknown Source) ~[na:1.7.0_07] 
     at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363) 
~[bonecp.jar:na] 
     at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416) ~[bonecp.jar:na] 
     at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.jav 
a:120) ~[bonecp.jar:na] 
     at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:245) ~[pla 
y-jdbc_2.10.jar:2.2.1] 
+1

您是否包含jdbc依赖项? – mantithetical

+0

是的,我做到了。 –

+0

您是否添加了MySQL驱动程序的依赖关系? – estmatic

回答

0

好吧,我不知道发生了什么事。

我把这个,它开始工作:

db.default.url="jdbc:mysql://localhost:3306/world" 
db.default.driver="com.mysql.jdbc.Driver" 
db.default.user="root" 
db.default.pass="mypasswrd" 
db.default.host="localhost" 

也许它需要一个更详细的配置,我只是说了db.default.host配置,字符串化与""一切(我认为这是没有必要的,但无论)并检查mysql是否在play dependencies上市。由于它在那里列出(实际上它是第一个入口),并且错误没有说它是一个缺失的库,我只是前往Error when i try connect play with mysql 5.5并修复了我的配置。

感谢大家!

0

您需要在您的依赖关系中具有MySQL JDBC驱动程序jar。 This page in the documentation显示如何将derby驱动程序添加到依赖项。用the MySQL ones替代德比坐标。

+0

嗯,我已经有了它...... 'libraryDependencies + =“mysql”%“mysql-connector-java”%“5.1.27”' 我甚至试图创建一个'lib'文件夹并把mysql jar进入它,但没有成功... –