2010-04-27 81 views
0

我最近一直在嘗試使用Java連接到託管MySQL,但無法使其工作。我可以使用連接到本地MySQL與localhost使用Java連接到託管MySQL服務器

connect = DriverManager.getConnection("jdbc:mysql://localhost/lego?" 
       + "user=******&password=*******"); 

(更換withmy用戶名和密碼astrisks)

我可以用用PHP連接到託管的MySQL數據庫罰款:

mysql_connect('mysql.hosts.co.uk','******','**********'); 
mysql_select_db('test'); 

我的問題是,我無法通過Java連接。如果連接無法正常工作,並且始終打印出來,我會收到一個異常。

任何想法,爲什麼它不工作?難道我做錯了什麼?

感謝您的時間,

InfinitiFizz

+0

您可以通過另一個mysql客戶端(如mysql查詢瀏覽器)連接到服務器嗎? 與其他用戶如何? – Hendrik 2010-04-27 11:35:15

+0

請顯示異常以及您使用的連接字符串(替換用戶名/密碼)。 – ZeissS 2010-04-27 11:36:07

+0

我發現Squirrel是一個非常方便的測試數據庫連接的工具,因爲它是用java編寫的,因此使用的是您在程序中使用的相同連接器。通常這只是連接字符串中的一個錯誤 http://squirrel-sql.sourceforge.net/ – 2010-04-27 11:47:27

回答

0

因爲它在PHP中工作(我猜你沒有嘗試從本地連接到php ???)它不應該是一個端口問題......但你應該檢查端口3306是否打開。 ..並詢問主機公司。

你有沒有注意到,在DriverManager的 http://java.sun.com/javase/6/docs/api/java/sql/DriverManager.html 您有: 的getConnection(字符串URL) 也: 的getConnection(字符串URL,用戶字符串,字符串密碼)

,也許會更好地工作..

0

我的猜測是,你需要選擇一個非標準端口,因爲我想像的託管服務器投放大量的MySQL實例的,他們可以」都使用正常的。我沒有在這裏看到港口的選擇。

如果不是這樣,那麼阻塞端口或連接的過程中可能存在防火牆問題。