2014-02-28 80 views
0

我想從Java和JDBC訪問我的遠程DATEBASE:Java訪問遠程數據庫,用戶權限

public class DB_Test { 

    public static void main(String[] args) { 
      try { 
       Class.forName("com.mysql.jdbc.Driver"); 
      } catch (ClassNotFoundException e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 
      Connection con = null; 
      String username = "my_username"; 
      String password = "my_passwort"; 
      String server = "www.example.de"; //remote server address 
      String db = "usr_web123_1"; 
      String url = "jdbc:mysql://"+server+"/"+db; 
      try { 
       con = DriverManager.getConnection(url, username, password); 
      } catch (SQLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
    } 

} 

因此我一得到:值java.sql.SQLException:拒絕訪問用戶「web123」 @ 'dslb-234-068-089-173.pools.arcor-ip.net'(使用密碼:是)

我認爲它與服務器上的用戶權限有關。但這只是一個網站空間,所以我沒有獲得服務器的root權限。

有什麼可能訪問數據庫?

回答

1

假設您的憑據是正確的,那麼除了運行數據庫的實例外,可能無法遠程訪問數據庫。可能遠程訪問是被禁止的。 問問你的提供者是否有這種方法;)

+0

有沒有一種常見的方式來提供一個接口?我的問題看起來並不那麼特別,沒有人爲此提供解決方案。禁止訪問網站空間的默認情況? – user3366605

+0

它不是「能夠」存在安全問題的問題。如果您的網站空間不提供對數據庫的直接遠程訪問,如果提供程序不需要它(並且是或多或少是默認值),您可能無法訪問數據庫。我不知道你正在使用哪個提供者,但也許他提供了某種UI來編輯數據(phpmyadmin?)。您可以編寫自己的UI並將其部署到您的Web空間(這將是本地訪問)並將數據從那裏寫入數據庫。但除非你實施某種授權,否則每個人都可以將數據寫入數據庫! – Yser

+0

是的,有一個phpmyadmin接口。有沒有用戶界面,我可以用於我的目的? – user3366605