簡體   English   中英

“ jdbc:mysql沒有合適的驅動程序……”錯誤

[英]“No Suitable Driver for jdbc:mysql…” Error

我瀏覽了很多其他人提出的問題,但沒有找到解決這個問題的方法。

我正在創建的程序是使用Jsoup和MySQL的Java Web搜尋器。 我目前正在Windows的Sublime中進行編程。 (對Eclipse感到麻煩,並且厭倦了與之抗爭)

當我嘗試在搜尋器中建立連接時,程序中斷了,但是相同的過程在我的測試程序中可以正常運行。

以下是相關代碼段:

public void openConnection() throws SQLException, IOException
{
    System.out.print("Opening connection...\n");
    String drivers = props.getProperty("jdbc.drivers");
    if (drivers != null) System.setProperty("jdbc.drivers", drivers);
    String url = props.getProperty("jdbc.url");
    String username = props.getProperty("jdbc.username");
    String password = props.getProperty("jdbc.password");
    maxUrls = Integer.parseInt(props.getProperty("crawler.maxurls"));

    System.out.print("Connection line...\n");
    //connection is a global
    connection = DriverManager.getConnection(url, username, password);
}

具有以下屬性:

database.properties
jdbc.url=jdbc:mysql://localhost:3306/webdata
jdbc.username=root
jdbc.password=passwordofsomedescription
crawler.maxurls=100
crawler.domain=somewebsite.com
crawler.root=http://www.somewebsite.com

該程序和測試程序的運行命令如下:

RunCrawler.bat

java.exe -classpath ".;./mysql-connector-java-5.1.29-bin.jar;./jsoup-1.7.3.jar" Crawler

RunTestDB.bat

java.exe -cp ".;./mysql-connector-java-5.1.29-bin.jar" TestDB

任何幫助將不勝感激。 爬網程序需要同時使用mySQL和Jsoup。 testDB沒有。

此外,兩個程序都可以正常編譯。 編譯類路徑沒有錯誤(如下所示)

makeCrawler.bat

javac -classpath "./mysql-connector-java-5.1.29-bin.jar;./jsoup-1.7.3.jar" Crawler.java

您正在從文件中讀取驅動程序屬性,但似乎未定義。

而且,您並沒有指示DriverManager使用特定的Driver來連接數據庫。

建議1

更改您的屬性文件以包括驅動程序屬性,如下所示。

database.properties
jdbc.url=jdbc:mysql://localhost:3306/webdata
jdbc.username=root
jdbc.password=passwordofsomedescription
crawler.maxurls=100
crawler.domain=somewebsite.com
crawler.root=http://www.somewebsite.com

# Add this line new
jdbc.drivers=com.mysql.jdbc.Driver

建議2

將drivers屬性添加到文件后,
讓JVM知道使用特定的驅動程序進行數據庫連接。

Class.forName( drivers );

注意 :如果使用的是JDBC 4.0或更高版本,則此調用是可選的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM