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