为什么我收到此SQLException错误,指出找不到合适的驱动程序?

时间:2012-05-08 15:16:36

标签: java mysql jdbc sqlexception

我在mac上,运行MySQL的MAMP实例。我正在尝试使用jdbc驱动程序将我的java代码连接到名为'test'的数据库,使用名为'customer'的表。我一直收到错误:

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

我不确定问题是否与我的代码有关,或者是否是MySQL的MAMP实例的配置问题,或者它是否完全不同。

我有一个初始化驱动程序方法:

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并将其设置在我的类路径中。

如果有人对如何纠正此错误有任何建议,我将非常感激!

4 个答案:

答案 0 :(得分:2)

您必须将MySQL jdbc connector jar库放入类路径中。

然后在使用以下代码打开连接之前初始化驱动程序:

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

答案 1 :(得分:0)

您需要在类路径中使用相应的mysql JDBC驱动程序jar,或者由容器加载。请参阅doc for ConnectorJ并注意安装说明。

答案 2 :(得分:0)

尝试将 mysql-connector-java-5.1.20.jar 添加到Glassfish(或Tomcat) lib 文件夹。

答案 3 :(得分:0)

此行中也有错误

    constat.executeQuery(query);

如果您想在数据库中插入一些数据,则必须使用此代码

constat.executeUpdate(query);