2014-05-08 61 views
0

我正嘗試在我正在處理的新項目中連接到我的MySQL數據庫。我收到的錯誤消息是:CommunicationsExceptions:通信鏈接失敗。 我試圖連接到我的朋友數據庫,它工作正常,但只要我嘗試使用我自己的本地主機服務器,我會收到錯誤。與MySQL數據庫的Android連接失敗

我也試着寫完全相同的代碼在NetBeans JavaFX應用程序,它是可以正常使用,這就像有什麼不對Android和localhosts ..

這裏是我的代碼:

private Connection conn = null; 
private String dbName = "world"; 
private String user = "root"; 
private String pwd = "root"; 
private Statement statement = null; 

public void connectingDatabase() throws Exception { 

    try { 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     System.out.println("Found instance"); 
    } catch (Exception ex) { 
     System.out.println("No instance "); 
    } 
    try { 
     setConn(DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/" + getDbName() + "?user=" + getUser() + "&password=" + getPwd())); 
     System.out.println("Connecta till " + getDbName()); 
    } catch (Exception ex) { 
     System.out.println("no connection"); 
     System.out.println(ex); 
    } 
} 

如果我使用我的朋友IP而不是127.0.0.1:3306或本地主機它正在工作。 有人有這種問題的專業知識嗎?

+0

這個代碼在桌面或Android設備上運行...在哪裏? – Kakarot

+0

在Android設備上! – user3618056

回答

0

由於代碼在Android設備上運行,並且您要連接到桌面上運行的MYSQL服務器,因此無法使用127.0.0.1連接到數據庫。而是使用託管MySQL數據庫的機器的IP地址。

+0

哈哈,這是有道理的。非常感謝你! – user3618056

+0

不客氣! – Kakarot

0

如果localhost或127.0.0.1仍然不起作用。在您的計算機/服務器上分配一個靜態IP,例如:192.168.1.10,然後在您的連接URL中使用該IP

祝您好運。