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

时间:2011-11-16 04:37:14

标签: 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)

我正在使用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();
}

9 个答案:

答案 0 :(得分:42)

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

事实上,您的JDBC URL错误:

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

删除单引号:

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

另见:

答案 1 :(得分:22)

您必须为 mysql-connector.jar

设置 classpath

在eclipse中,使用构建路径

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

答案 2 :(得分:10)

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

答案 3 :(得分:4)

这个错误发生在我身上,由于你的eclipse项目(或你的IDE)中没有包含mysql-connector.jar,所以通常会出现问题。

就我而言,这是因为操作系统出现问题。

我在phpmyadmin中编辑了一个表,并且mysql挂了,我重新启动了Ubuntu。我没有成功地清理了项目。今天早上,当我尝试使用网络服务器时,它第一次完美运行。

在第一次重启时,操作系统识别出存在问题,在第二次重启后,操作系统已修复。我希望这会为那些“可能”遇到这个问题的人节省一些时间!

答案 4 :(得分:3)

描述数据库驱动程序的字符串中的印刷错误也会产生错误。

指定为:

的字符串
"jdbc:mysql//localhost:3307/dbname,"usrname","password"

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

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

jdbc:mysql://localhost:3307/dbname,"usrname","password"

答案 5 :(得分:0)

我有同样的问题我使用如果开发jsp修复此问题,将mysql connetor放入 WEB-INF-> lib 文件夹中,然后将其放入eclipse右键单击并转到build-path - >在库选项卡中配置build patha添加外部jar文件给出lib文件夹所在的位置

答案 6 :(得分:0)

告诉我的解决方案:就我而言,图书馆和项目并没有自动添加到类路径中(我不知道为什么),甚至点击"添加到构建路径& #34;选项。所以我继续跑 - >运行配置 - > classpath并添加了我需要的所有内容。

答案 7 :(得分:0)

(如果你的网址是正确的,仍然会收到错误信息) 按照以下步骤在netbeans中设置Classpath,

  1. 在项目工作区中创建一个新文件夹并添加下载的.jar文件(例如: - mysql-connector-java-5.1.35-bin.jar)
  2. 右键单击您的项目>属性>图书馆>添加jar /文件夹 选择刚刚创建的文件夹中的jar文件。然后单击“确定”。
  3. 现在您将看到.jar文件将包含在库下。现在您不需要使用Class.forName(“com.mysql.jdbc.Driver”)行;还

    如果上述方法不起作用,请检查mysql-connector版本(例如: - 5.1.35)并为您尝试更新或适合的版本。

答案 8 :(得分:-1)

我得到同样的错误。我刚从项目中删除了mysql-connector jar并下载了最新版本。清理了我的项目,现在就可以了。