2012-05-08 41 views
1

我在一個mac上運行一個MAMP的MySQL實例。我正在嘗試使用jdbc驅動程序將我的java代碼連接到名爲'test'的數據庫,並使用名爲'customer'的表。我不斷收到一個錯誤:爲什麼我收到此SQLException錯誤,指出找不到合適的驅動程序?

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:8889/test 

我不知道,如果這個問題是我的代碼,或者如果它是一個配置問題與MySQL的毫安實例,或者如果它完全是另一回事。

我有一個初始化驅動方法:

public void initializeDriver(){ 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     } 
    catch(ClassNotFoundException e) { 
     System.err.println(e.toString()); 
    } 

} 

而且我在下面的方式建立連接:

public void insertCustomer(String connectionUrl, String connectionUser, String connectionPassword, Customer customer) { 

     try{ 
      Connection conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword); 
      Statement constat = conn.createStatement(); 
      String query = "INSERT INTO customers (customer_id, email, deliverable, create_date) VALUES (" + customer.id + ", " + customer.emailAddress + ", " + customer.deliverable + ", " + customer.createDate + ")" ; 
      constat.executeQuery(query); 
      conn.close(); 

     } 
     catch(SQLException e){ 
      System.out.println(e.toString()); 
     } 


    } 

而且我已經下載使用mysql-connector-java的5.1.20和將其設置在我的類路徑中。

如果有人對我如何糾正這個錯誤有任何建議,我會非常感激!

回答

0

您需要在您的類路徑中使用相應的mysql JDBC驅動程序jar,或者您的容器可以加載相應的mysql JDBC驅動程序jar。請參閱doc for ConnectorJ並記下安裝說明。

2

您必須將MySQL jdbc connector jar庫放入類路徑中。

打開像下面的代碼連接之前然後初始化驅動程序:

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
+0

哦,我應該在我的問題都表示,我已經這樣做了。我會編輯它以反映這一點,謝謝。 – abcooper

+0

您在使用驅動程序之前是否初始化了驅動程序?這種錯誤信息是由於在系統上找不到驅動程序這一事實造成的...... – aleroot

+0

我認爲這就是我使用我的initializedriver方法所做的 - 是不正確的? – abcooper

0

嘗試MySQL的連接器的Java-5.1.20.jar添加Glassfish的(或Tomcat)LIB夾。

0

你也有一個錯誤此行

constat.executeQuery(query); 

中,如果你想插入數據的基礎上的一些數據,你必須使用此代碼

constat.executeUpdate(query); 
相關問題