2013-12-20 52 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進入它,但沒有成功... –