使用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访问”
mysql-connector-java-5.1.18-bin.jar
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(); }
在这种特殊情况下(假设Class#forName()没有抛出异常,你的代码即与运行,而不是继续抛除外),这SQLException意味着Driver#acceptsURL()返回false任何加载的驱动程序。
Class#forName()
SQLException
false
确实,你的JDBC URL错误:
String url = "'jdbc:mysql://localhost:3306/mysql";
删除单引号:
String url = "jdbc:mysql://localhost:3306/mysql";