繁体   English   中英

找不到适合jdbc mysql的驱动程序?

[英]No suitable driver found for jdbc mysql?

我正在尝试编写一个程序以在Eclipse中连接到MySQL数据库,但出现错误“ java.sql.SQLException:找不到合适的驱动程序”

Java代码是:

import java.sql.*;

public class FirstExample {

//static final String S_JDBC_DRIVER = "com.mysql.jdbc.Driver";  
static final String S_DB_URL = "jdbc:mysql://localhost:3306/emp";
static final String S_USER = "root";
static final String S_PASS = "root";

public static void main(String[] args) {

    try {

        System.out.println("Connecting to database...");
        //Class.forName(S_JDBC_DRIVER);
        Connection connection = DriverManager.getConnection(S_DB_URL,
                S_USER, S_PASS);

        System.out.println("Creating statement...");
        Statement statement = connection.createStatement();
        String sql = "SELECT * FROM Employee";
        ResultSet resultSet = statement.executeQuery(sql);

        while (resultSet.next()) {

            int iId = resultSet.getInt("id");
            int iAge = resultSet.getInt("age");
            String sFirst = resultSet.getString("fname");
            String sLast = resultSet.getString("lname");

            System.out.print("ID: " + iId);
            System.out.print("\tAge: " + iAge);
            System.out.print("\tFirst: " + sFirst);
            System.out.println("\tLast: " + sLast);
        }

        resultSet.close();
        statement.close();
        connection.close();
    } catch (SQLException se) {

        for (Throwable t : se) {
            t.printStackTrace();
        }
    } 
    System.out.println("Goodbye!");
}

}

控制台选项卡中的输出为:

Connecting to database...
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/emp
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at FirstExample.main(FirstExample.java:21)
Goodbye!

我已经使用了MySQL Connector / J。 将其解压缩到MySQL安装目录中,并将jar文件添加到CLASSPATH中。

另请参阅此图像。 有一个 ! 在项目根目录上标记。 image01

当我包含2条注释语句时,出现下图所示的错误: image02

static final String S_JDBC_DRIVER = "com.mysql.jdbc.Driver";
Class.forName(S_JDBC_DRIVER);

我有同样的问题。 我通过添加解决了它:

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

除了最琐碎的应用程序之外,所有其他应用程序都不会使用CLASSPATH环境变量。 通常,这些库包含在jar清单的Class-Path条目中,或者包含在java命令行的-cp选项中。

在这种情况下,您需要将MySQL JDBC驱动程序添加到Eclipse项目的buildpath中。

您可以将路径放置为java -cp pwd /mysql-connector-java-5.1.22-bin.jar:. <classname> /mysql-connector-java-5.1.22-bin.jar:. <classname>

确保您在mysql驱动程序所在的目录中。

希望能有所帮助。

或者,您也可以通过在eclipse中选择项目,将已安装的jar文件添加到eclipse项目中,右键单击它并转到属性,选择Java Build Path >>选择Libraries Tab >> Add external jar file并浏览到对于大多数ubuntu用户,在/ usr / share / java /目录中已安装了mysql-connector-java.jar文件或任何mysql java连接器文件。 单击确定,然后重建您的项目。 祝好运

在获得连接之前加载驱动程序类。

使用此代码:

Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_db", "user", "passw");

我遇到了与您相同的问题,但是我按以下方式处理:我将名为mysql-connector-java-5.1.23-bin.jar的jar复制到\\ Apache Software Foundation \\ Tomcat 6.0 \\ lib,然后重新启动tomcat。 希望能有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM