一尘不染

找不到适用于'jdbc:mysql:// localhost:3306 / mysql的合适驱动程序

java

使用Java,尝试连接到mysql数据库时出现此错误:

java.sql.SQLException: No suitable driver found for 
jdbc:mysql://localhost:3306/mysql at
java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at MyTest1.main(MyTest1.java:28)

我正在使用mysql-connector-java-5.1.18-bin.jar驱动程序。它在我的构建路径中。我已经重启了MySQL。我还从命令行使用root用户登录,没有密码,并且连接正常。我目前在netstat中没有看到端口3306。以前我遇到了另一个错误(我没有更改代码)。错误是“用户’root’@’localhost密码NO拒绝jdbc mysql访问”

try {
    Class.forName("com.mysql.jdbc.Driver");
} 
catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} 


try {
    String url = "jdbc:mysql://localhost:3306/mysql";
    Connection con = DriverManager.getConnection(url, "root", "");
}
catch (Exception e){
    e.printStackTrace();
}

阅读 791

收藏
2020-03-24

共1个答案

一尘不染

在这种特殊情况下(假设Class#forName()没有抛出异常,你的代码即与运行,而不是继续抛除外),这SQLException意味着Driver#acceptsURL()返回false任何加载的驱动程序。

确实,你的JDBC URL错误:

String url = "'jdbc:mysql://localhost:3306/mysql";

删除单引号:

String url = "jdbc:mysql://localhost:3306/mysql";
2020-03-24