java 当我尝试使用 mysql 5.5 连接播放时出错

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17542943/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-01 02:16:15  来源:igfitidea点击:

Error when i try connect play with mysql 5.5

javamysqlplayframework-2.0

提问by Mèo Béo

There is my configure :

有我的配置:

 db.default.driver=com.mysql.jdbc.Driver
 db.default.url="jdbc:mysql:root:play2test" //Cannot connect to database [default] -> play mark this line
 db.default.user=root
 db.default.pass=123456
 db.default.driver=com.mysql.jdbc.Driver
 db.default.url="jdbc:mysql:root:play2test" //Cannot connect to database [default] -> play mark this line
 db.default.user=root
 db.default.pass=123456

I already created play2test.mwb with MySql-workbench, i have tried other way like :

我已经使用 MySql-workbench 创建了 play2test.mwb,我尝试过其他方式,例如:

 db.default.driver="com.mysql.jdbc.Driver"
 db.default.url="jdbc:mysql:root:play2test" 
 db.default.user="root"
 db.default.pass="123456"
 db.default.driver="com.mysql.jdbc.Driver"
 db.default.url="jdbc:mysql:root:play2test" 
 db.default.user="root"
 db.default.pass="123456"

but allways get this error : db has type STRING rather than OBJECT

但总是得到这个错误:db 的类型是 STRING 而不是 OBJECT

in terminal :

在终端:

[error] c.j.b.h.AbstractConnectionHook - Failed to obtain initial connection Sleeping for 0ms and trying again. Attempts left: 0. Exception: null
[error] application - 

! @6epj0nb4d - Internal server error, for request [GET /] ->

play.api.Configuration$$anon: Configuration error [Cannot connect to database [default]]
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:71) ~[play_2.9.1.jar:2.0.4]
    at play.api.Configuration.reportError(Configuration.scala:258) ~[play_2.9.1.jar:2.0.4]
    at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:249) ~[play_2.9.1.jar:2.0.4]
    at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:240) ~[play_2.9.1.jar:2.0.4]
    at scala.collection.TraversableLike$$anonfun$map.apply(TraversableLike.scala:194) ~[scala-library.jar:0.11.3]
    at scala.collection.TraversableLike$$anonfun$map.apply(TraversableLike.scala:194) ~[scala-library.jar:0.11.3]
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql:root:play2test
    at java.sql.DriverManager.getConnection(DriverManager.java:640) ~[na:1.6.0_27]
    at java.sql.DriverManager.getConnection(DriverManager.java:200) ~[na:1.6.0_27]
    at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:256) ~[bonecp.jar:0.7.1.RELEASE]
    at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:305) ~[bonecp.jar:0.7.1.RELEASE]
    at com.jolbox.bonecp.BoneCPDataSource.maybeInit(BoneCPDataSource.java:150) ~[bonecp.jar:0.7.1.RELEASE]
    at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:112) ~[bonecp.jar:0.7.1.RELEASE]
[error] c.j.b.h.AbstractConnectionHook - Failed to obtain initial connection Sleeping for 0ms and trying again. Attempts left: 0. Exception: null
[error] application - 

! @6epj0nb4d - Internal server error, for request [GET /] ->

play.api.Configuration$$anon: Configuration error [Cannot connect to database [default]]
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:71) ~[play_2.9.1.jar:2.0.4]
    at play.api.Configuration.reportError(Configuration.scala:258) ~[play_2.9.1.jar:2.0.4]
    at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:249) ~[play_2.9.1.jar:2.0.4]
    at play.api.db.BoneCPPlugin$$anonfun$onStart.apply(DB.scala:240) ~[play_2.9.1.jar:2.0.4]
    at scala.collection.TraversableLike$$anonfun$map.apply(TraversableLike.scala:194) ~[scala-library.jar:0.11.3]
    at scala.collection.TraversableLike$$anonfun$map.apply(TraversableLike.scala:194) ~[scala-library.jar:0.11.3]
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql:root:play2test
    at java.sql.DriverManager.getConnection(DriverManager.java:640) ~[na:1.6.0_27]
    at java.sql.DriverManager.getConnection(DriverManager.java:200) ~[na:1.6.0_27]
    at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:256) ~[bonecp.jar:0.7.1.RELEASE]
    at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:305) ~[bonecp.jar:0.7.1.RELEASE]
    at com.jolbox.bonecp.BoneCPDataSource.maybeInit(BoneCPDataSource.java:150) ~[bonecp.jar:0.7.1.RELEASE]
    at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:112) ~[bonecp.jar:0.7.1.RELEASE]

I tried to uncomment at

我试图取消注释

ebean.default="models.*"
ebean.default="models.*"

and added the sbt dependency:

并添加了 sbt 依赖项:

 "mysql" % "mysql-connector-java" % "5.1.21"
 "mysql" % "mysql-connector-java" % "5.1.21"

But it did'nt work :(((( So how can i solved it :(.

但它没有用:((((那么我怎么能解决它:(。

Sry if my english is bad

Sry 如果我的英语不好

回答by user2420313

Try following way:

尝试以下方式:

   db.default.url="jdbc:mysql://your_server_address:3306/play2test" 
   db.default.driver="com.mysql.jdbc.Driver"
   db.default.user=root
   db.default.pass="123456"
   db.default.host=your_server_address

回答by Mark M

Your connection url is formatted wrong. Try using:

您的连接 url 格式错误。尝试使用:

db.default.url="jdbc:mysql://localhost/play2test"

And make sure you set the product dependency in /project/Build.scala, change the 5.1.25 to whatever version your mysql connector is

并确保您在 /project/Build.scala 中设置了产品依赖项,将 5.1.25 更改为您的 mysql 连接器的任何版本

val appDependencies = Seq(

"mysql" % "mysql-connector-java" % "5.1.25"

)

And in the same file, make sure that this line is not commented

在同一个文件中,确保这一行没有被注释

ebean.default="models.*"

回答by M. Abbas

The url should be something like:

网址应该是这样的:

db.default.url="jdbc:mysql://your_server_address/play2test"