[英]“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.