2011-06-18 55 views
0

我正在Eclipse上使用Java在Windows服務器上運行以下代碼。無法使用Java連接到Mysql數據庫

Connection conn = null; // connection object 
Statement stmt = null; // statement object 
ResultSet rs = null; // result set object 
try{ 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/errorcodes", "myusername", "mypassword"); 
    System.out.println ("Database connection established"); 
}catch (Exception e){ 
    System.err.println ("Cannot connect to database server"); 
} 

我繼續看到「無法連接到數據庫服務器錯誤」。任何想法我可能做錯了什麼?
我已經試過的netstat -an,我看到: TCP 127.0.0.1:4464 127.0.0.1:3306成立

+3

你能打印出異常的堆棧跟蹤嗎?用e.printStackTrace()替換「System.err.println(...)」; – Todd

+0

你確定密碼和登錄名是否正確,並且可以看到該數據庫? – JohnFx

+0

將此添加到您的catch'e.printStackTrace();' – Bohemian

回答

2

我的猜測?您的類路徑中沒有mysql jdbc連接器jar。它應該被稱爲像使用mysql-connector-java的5.1.16-bin.jar,這取決於你的MySQL版本

如果你沒有這樣的罐子,請訪問:here

+0

謝謝,我只是做了這個,並添加到jar到我的項目。 :無法連接到數據庫服務器 java.sql.SQLException:訪問被用戶'myusername'@'localhost'拒絕(使用密碼:NO) \t at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)and – stumped

+0

如果數據庫服務器正在運行,那麼你的數據庫憑證或訪問權限是不正確的,不要捕獲所有異常,或者用多個catch塊來詳細說明它們。 –

0

你確定它是在端口3306上運行的mysql,並且它的版本是由連接器/ j支持的?

+0

我正在運行MySQL 5.5並且我的連接器是5.1。 16.兩者都是最新的。 – stumped

0

我想你沒有啓動MySQL服務器在PC.before運行應用程序

0

嘗試如下:

  1. 清潔和重建在Eclipse中的項目。
  2. 嘗試在命令提示符下使用用戶名和密碼訪問mysql數據庫,以確保用戶名和密碼正確。

如果你想確保用戶名和密碼,你必須再次查詢mysql表中的用戶表,以便需要另一個mysql admin帳戶來查詢。

0

這很簡單..你需要.jar文件名爲mysql-連接器的Java-5.1.16-bin.jar ,,,下載它,並把它添加到您的庫...

好運! !