2011-04-11 68 views
0

我使用MySQL 5.5的默認值。我創建了一個用戶/密碼並運行一個腳本,創建一個名爲employees的數據庫。通過命令提示符我可以訪問數據庫:沒有合適的驅動程序發現調用getConnection

mysql -u user -p 
SELECT * FROM employees 

在我的Java應用程序中,我無法連接。我曾嘗試這些URL,以及其他人,但沒有任何工程:

"jdbc:mysql://localhost/employees" "user" "password" 
"jdbc:mysql://localhost:3306/employees" "user" "password" 
"jdbc:mysql:///employees?user=user&password=password" 

下面是相關代碼:

public Main() 
{ 
    try { 
     connection = DriverManager.getConnection(url); 
     //connection = DriverManager.getConnection(url, user, password); 
     // I don't know what else to try 
    } catch (SQLException ex) { 
     System.out.print(ex + "\n\n"); 
    } 
} 
+1

您是否下載了JDBC驅動程序?你沒有提到獲取它的任何信息。 http://www.mysql.com/downloads/connector/j/ – bdares 2011-04-11 03:35:46

+1

它說沒有找到合適的驅動程序,那麼你的jdbc驅動程序不存在類路徑。如果你正在應用程序服務器上運行它,那麼你可能需要將驅動程序添加到lib目錄中。 – 2011-04-11 03:36:03

+0

謝謝,解決了我的問題!我之前已經下載過它,但看起來它已經過時了,所以我沒有嘗試它。 – 2011-04-11 03:41:49

回答

0

錯誤告訴我,要麼

  • ConnectorJ驅動r不在你的類路徑中。
  • 當使用DriverManager時,jdbc.drivers系統屬性尚未填充Connector/J驅動程序的位置。
  • 連接URL的格式不正確,或者您引用了錯誤的JDBC驅動程序。 在您的場景中,它是列表項#1,它是導致您遇到問題的原因。

我會使用類似下面的代碼片段來獲取連接對象。

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

Connection conn = null; 
... 
try { 
conn = 
    DriverManager.getConnection("jdbc:mysql://localhost/employees?" + 
           "user=user&password=password"); 

// Do something with the Connection 

... 
} catch (SQLException ex) { 
// handle any errors 
System.out.println("SQLException: " + ex.getMessage()); 
System.out.println("SQLState: " + ex.getSQLState()); 
System.out.println("VendorError: " + ex.getErrorCode()); 
} 
相關問題