2013-03-18 75 views
0

我不能讓我的應用程序中使用CloudBees的連接到數據庫。上與MySQL CloudBees的播放2.1:沒有合適的驅動程序找到

我有我的配置文件:

# 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 

讀這篇文章,是好像司機實際上是宣告。該dependenci是我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

對於完整的日誌,你可能看看這裏:https://gist.github.com/adericbourg/5189037 – 2013-03-18 17:25:29

+0

你試過給5.1.18版本嗎?適用於我。 – smk 2013-03-18 17:33:54

+0

我做到了。但它沒有改變任何東西...... – 2013-03-19 10:32:53

回答

-1

嘿,我剛剛解決了這個問題就像現在。 :)

您需要的mysql_url改變

MYSQL_URL_DB =的jdbc:mysql的://主機:3306 /我的應用程序內

事情是,它默認的URL所指向的CloudBees的驅動程序和自我們使用MySQL驅動程序,我們需要將其更改爲mysql的URL。

+0

so @smk當你說「主機」你字面上的意思是「主機」?或者您的意思是在cloudbees數據庫配置頁面上可見的amazon-ec3地址? – poornerd 2013-03-18 23:26:44

+0

amazon-ec2 ..對不起。我沒有清楚。 – smk 2013-03-19 02:56:08

+0

我將配置更新爲'''MYSQL_URL_DB = jdbc:mysql://ec2-23-21-211-172.compute-1.amazonaws.com:3306/foo'''但我得到了同樣的錯誤。奇怪... – 2013-03-19 10:47:05

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。)。

db.default.driver=com.mysql.jdbc.Driver 
db.default.url="mysql://dbusername:[email protected]/DATABASE_NAME" 
db.default.user=dbusername 
db.default.password=dbpassword 

適合我。

希望這會有所幫助。

+0

我仍然得到相同的日誌,當訪問應用程序時有一個'''502壞門戶網站':-( 這個問題必須比DB配置更深... – 2013-03-20 09:28:03

+0

在開發者模式下運行(在localhost中)有效嗎? – 2013-03-20 16:54:12

+0

db.default.url =「jdbc:mysql://ec2-23-21-211-172.compute -1.amazonaws.com:3306/projwebwsdb「這是我的cloudbees數據庫的網址,如果我在你的位置,我會嘗試在你的開發者模式下(而不是cloudbees)使用cloudbees數據庫。數據庫與像SequelPro(適用於Mac OS)或MySQL Workb一樣的mysql客戶端附魔。 – 2013-03-20 17:09:13

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 URL前添加jdbc: - 只有mysql://ec2-23-21-211-172.compute-1.amazonaws.com:3306/my-app不足以作爲URL

相關問題