我无法使用Cloudbees将我的应用程序连接到数据库。
我的配置文件中有:
# Database configuration
# ~~~~~
db.default.driver=${MYSQL_DRIVER}
db.default.url=${MYSQL_URL_DB}
db.default.user=${MYSQL_USERNAME_DB}
db.default.password=${MYSQL_PASSWORD_DB}
在Cloudbees配置中,我有:
$ bees config:list -a me/my-app
Application Parameters:
proxyBuffering=false
MYSQL_URL_DB=jdbc:cloudbees://my-app
MYSQL_USERNAME_DB=my-app
MYSQL_PASSWORD_DB=dadadadada
MYSQL_DRIVER=com.mysql.jdbc.Driver
Runtime Parameters:
java_version=1.7
读这个,似乎是实际声明了驱动程序。 dependdenci在我的Build.scala中:
val appDependencies = Seq(
javaCore,
javaJdbc,
javaEbean,
"mysql" % "mysql-connector-java" % "5.1.22"
)
但是一开始,我得到了:
Caused by:
java.sql.SQLException: No suitable driver found for
mysql://ec2-23-21-211-172.compute-1.amazonaws.com:3306/my-app
我觉得我错过了阅读文档但却无法找到的东西...
谢谢,
编辑:您可以在Github找到我的测试应用程序。赏金是为了管理在Cloudbees上部署它(并解释如何)的人。 Cloudbees配置未在Github上提交。
答案 0 :(得分:1)
我建议你尝试使用mysql 5.1.18连接器。我在CloudBees中有一个应用程序,并且可以正常使用该连接器。还可以尝试使用本地数据库来更轻松地查看问题所在。
这是我的 Build.scala
val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean,
"mysql" % "mysql-connector-java" % "5.1.18"
)
val main = play.Project(appName, appVersion, appDependencies)
.settings(cloudBeesSettings :_*)
.settings(CloudBees.applicationId := Some("project_test"))
如果此连接器无法解决问题,请尝试 application.conf 中的下一个配置(特别注意db.default.url中数据库的用户名和密码。)< / p>
db.default.driver=com.mysql.jdbc.Driver
db.default.url="mysql://dbusername:dbpassword@localhost/DATABASE_NAME"
db.default.user=dbusername
db.default.password=dbpassword
对我来说很好。
希望这有帮助。
答案 1 :(得分:0)
此处的问题是Cloudbees应用程序参数(您使用bees config:set
设置的参数)会覆盖您在conf/application.conf
文件左侧设置的参数。
因此,在这种情况下,您不必将MYSQL_URL_DB
设置为Cloudbees应用程序参数,而是直接db.default.url
试试吧:
bees config:set -a seo-machine -P db.default.url=jdbc:mysql://ec2-23-21-211-172.compute-1.amazonaws.com:3306/my-app
并重新启动您的应用:
bees app:restart
另外不要忘记在JDBC网址前加上jdbc:
- 只有mysql://ec2-23-21-211-172.compute-1.amazonaws.com:3306/my-app
不足以作为网址
答案 2 :(得分:-1)
嘿,我刚刚解决了这个问题。 :)
您需要将mysql_url更改为
MYSQL_URL_DB = JDBC:MySQL的://主机:3306 /我的应用内
事实是它默认url指向cloudbees驱动程序,因为我们使用mysql驱动程序,我们需要将它更改为mysql url。