2014-12-19 101 views
1

可能關注的人,連接到在線SQL數據庫

我的一個朋友有一個服務器,他爲我創建了一個數據庫。

我想用我的Java應用程序, 連接到這個數據庫現在我得到這個代碼:

/** 
    * Open database connection 
    */ 
    public void openConnection() { 
     try { 
      // Database information 
      String url = "jdbc:mysql://url-to-online-database.com:3306/"; 
      String dbName = "dbName"; 

      // jdbc driver 
      String driver = "com.mysql.jdbc.Driver"; 
      // username of database user 
      String userName = "testUsername"; 
      // Password of database user 
      String password = "testPassword"; 

      // The newInstance() call is a work around for some 
      // broken Java implementations 
      Class.forName(driver).newInstance(); 
      conn = DriverManager.getConnection(url + dbName, userName, password); 

      // Adding multiple exception catches 
     } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException e) { 
      JOptionPane.showMessageDialog(null, e); 

     } 
    } 

在這一點上我不知道我做錯了,除了這個事實我不不知道從哪裏獲取用於連接到此數據庫的URL。

當試圖登錄,我的應用程序,我得到以下錯誤: class not found

nullpointerexception

這是涉及到遠程MySQL?我需要在cPanel中「添加訪問主機」嗎? 也許重複使用我的驅動程序的JAR?

+0

「之外的事實,我不知道該用什麼URL連接到這個數據庫」這是否意味着你*不*知道URL,並困惑,爲什麼你不能連接? >< – Kritner

+0

我不知道URL,我不知道從哪裏獲得它:P – Lobato

+0

大部分設置用於連接的設置將位於朋友的服務器上,而不是您的端。確保防火牆規則允許連接,確保從數據庫端允許連接,確保爲您設置了用戶,獲取服務器託管的IP地址/端口號和/或域。可以在朋友身邊做很多事情,然後才能連接 – Kritner

回答

0

正如你的問題沒有發現的Java mysql的連接,所以請添加MySQL,Java的連接器項目庫和運行沒有這樣的drviver。

Download MySQL Java Connector

+0

使用它會導致從我的應用程序登錄時出錯:通信鏈路故障,最後一個成功發送到服務器的數據包是0毫秒前。驅動程序未收到來自服務器的任何數據包 – Lobato

+0

請確保您的mysql服務器正在運行,同時確保您的服務器具有最大連接限制以允許訪問數據庫。還有一件事是你試圖訪問全球或本地的MySQL服務器? –

+0

這是我需要連接的網址。我使用什麼?它是'主域'網址嗎? – Lobato

0

你應該嘗試使用Maven項目。如果你使用Maven的,你需要添加一個依賴爲MySQL連接器是這樣的:

<dependency> 
<groupId>mysql</groupId> 
<artifactId>mysql-connector-java</artifactId> 
<version>5.1.30</version> 
</dependency>  
-1

如果您在其他位置的數據庫,你的程序不能因爲你試圖連接到遠程數據庫中找不到此URL,你需要創建adHoc網絡並共享您的數據庫。