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

use*_*165 50 java mysql jdbc

使用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)
Run Code Online (Sandbox Code Playgroud)

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

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();
}
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 43

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

实际上,您的JDBC URL是错误的:

String url = "'jdbc:mysql://localhost:3306/mysql";
Run Code Online (Sandbox Code Playgroud)

删除单引号:

String url = "jdbc:mysql://localhost:3306/mysql";
Run Code Online (Sandbox Code Playgroud)

也可以看看:


小智 23

您必须为mysql-connector.jar设置类路径

在eclipse中,使用构建路径

如果您正在开发任何Web应用程序,则必须将mysql-connector放入Web-app 的WEB-INF目录的lib文件夹中

  • mysql-connector应该由系统提供,不包含在jar或war中. (2认同)

小智 10

使用Netbean时,转到项目选项卡,然后单击下拉按钮以选择Libraries文件夹.右键单击d Library文件夹,然后选择"添加JAR /文件夹".找到mysql-connectore-java.* .jar文件,你在你的系统上有它.这对我有用,我希望它对你也有用.如果您遇到任何问题,请恢复


小智 5

描述数据库驱动程序的字符串中的拼写错误也可能产生该错误。

指定为的字符串:

"jdbc:mysql//localhost:3307/dbname,"usrname","password"
Run Code Online (Sandbox Code Playgroud)

可能会导致“找不到合适的驱动程序”错误。此示例中缺少“mysql”后面的冒号。

正确的驱动程序字符串是:

jdbc:mysql://localhost:3307/dbname,"usrname","password"
Run Code Online (Sandbox Code Playgroud)