2014-02-28 102 views
0

我想知道是否有人可以幫助我我試圖連接到在線數據庫。數據庫放在http://labs.cms.gre.ac.uk/db/mysqlnew.php上,但我似乎無法連接,繼承人到目前爲止,任何人都可以幫忙嗎?Java連接到在線數據庫

另外我需要導入任何東西嗎?我有import.hava.sql。*;但那是它?

try { 

    System.out.println("Attempting Database Connection"); 
    Class.forName("com.mysql.jdbc.Driver"); 
    String url = "jdbc:mysql://http://labs.cms.gre.ac.uk/database"; 
    connection = DriverManager.getConnection(url, "user", "pass"); 
    stmt = connection.createStatement(); 
    System.out.println("Connection made"); 
} catch (Exception e) { 
    System.out.println("Database connection attempt failed"); 
    System.out.println(e); 
    } 
} 
+0

您收到了什麼錯誤? – user902383

+1

你看過這裏嗎? http://labs.cms.gre.ac.uk/db/mysqljconnect.asp – user902383

回答

0

您無法連接到這樣的外部數據庫。在服務器labs.cms.gre.ac.uk上運行的數據庫將受到防火牆的保護,並且它位於運行服務器的網絡的內部。因此,你無法連接到這個數據庫。

即使你連接到本地數據庫,你必須在代碼中的多個問題:

  1. 你應該添加MySQL JDBC驅動程序類路徑中。
  2. 您使用的連接網址錯誤。連接網址不能包含像http://這樣的協議。請谷歌爲MySQL JDBC連接URL格式。

希望有所幫助!

+0

它不受防火牆保護,因爲我們已經使用其他編碼語言連接到它,例如PHP。但是,謝謝你的幫助。 – user3365117

0

幾乎就是這樣。

首先, 「URL」 這裏是不是你在瀏覽器中使用相同的URL,但是JDBC字符串,它通常是像

"jdbc:mysql://localhost/test"; 

(見What is the MySQL JDBC driver connection string?

其次,你在您的類路徑中必須有一個mysql jdbc驅動程序(請參閱http://dev.mysql.com/downloads/connector/j/)。該行

Class.forName("com.mysql.jdbc.Driver"); 

試圖找到mysql驅動程序。

第三,您必須確保您有權訪問連接到數據庫。這意味着數據庫管理員提供了您的「用戶」和「傳遞」對訪問權限,以便從運行服務器的外部進行訪問,並且如果mysql db連接端口(默認爲3306)已打開以接收您的請求。請諮詢您的DBA。