簡體   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