简体   繁体   English

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

[英]No suitable driver found for jdbc mysql?

I am trying to write a program to connect to a MySQL database in eclipse, but I get the error "java.sql.SQLException: No suitable driver found" . 我正在尝试编写一个程序以在Eclipse中连接到MySQL数据库,但出现错误“ java.sql.SQLException:找不到合适的驱动程序”

The java code is: 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!");
}

} }

The output in the console tab is: 控制台选项卡中的输出为:

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!

I have used the MySQL Connector/J. 我已经使用了MySQL Connector / J。 It is unzipped in the MySQL installation directory and the jar file is added to the CLASSPATH. 将其解压缩到MySQL安装目录中,并将jar文件添加到CLASSPATH中。

Also refer to this image. 另请参阅此图像。 There is an ! 有一个 ! mark at the project root. 在项目根目录上标记。 image01 image01

I get the error as in the next image: image02 when I include the 2 commented statements: 当我包含2条注释语句时,出现下图所示的错误: image02

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

I had the same problem. 我有同样的问题。 I solved it by adding: 我通过添加解决了它:

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

For all but the most trivial applications the CLASSPATH environment variable is NOT used. 除了最琐碎的应用程序之外,所有其他应用程序都不会使用CLASSPATH环境变量。 Normally the libraries are include in the Class-Path entry in the manifest of the jar, or in the -cp option of the java commandline. 通常,这些库包含在jar清单的Class-Path条目中,或者包含在java命令行的-cp选项中。

In this case you need to add the MySQL JDBC driver to the buildpath of your Eclipse project. 在这种情况下,您需要将MySQL JDBC驱动程序添加到Eclipse项目的buildpath中。

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

make sure that your in same directory where the mysql driver is . 确保您在mysql驱动程序所在的目录中。

Hope that helps . 希望能有所帮助。

Alternatively you can also add the installed jar file to your eclipse project by selecting the project in eclipse, right click it and go down to properties, select the Java Build Path>>select the Libraries Tab>>Add external jar file and browse for the installed mysql-connector-java.jar file or any mysql java connector file int the /usr/share/java/ directory for most ubuntu users. 或者,您也可以通过在eclipse中选择项目,将已安装的jar文件添加到eclipse项目中,右键单击它并转到属性,选择Java Build Path >>选择Libraries Tab >> Add external jar file并浏览到对于大多数ubuntu用户,在/ usr / share / java /目录中已安装了mysql-connector-java.jar文件或任何mysql java连接器文件。 Click okay and rebuild your project. 单击确定,然后重建您的项目。 Good luck 祝好运

Load Driver class just before getting the connection. 在获得连接之前加载驱动程序类。

Use this code: 使用此代码:

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

I encountered the same problem as you, but I handled it as follows: I copied the jar, which is called mysql-connector-java-5.1.23-bin.jar, into the \\Apache Software Foundation\\Tomcat 6.0\\lib, and restarted tomcat. 我遇到了与您相同的问题,但是我按以下方式处理:我将名为mysql-connector-java-5.1.23-bin.jar的jar复制到\\ Apache Software Foundation \\ Tomcat 6.0 \\ lib,然后重新启动tomcat。 Hope that helps 希望能有所帮助

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

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