繁体   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