当前位置: 首页 > 知识库问答 >
问题:

Java-与JDBC集成 - 找不到适合jdbc的驱动程序:mysql错误

常光明
2023-03-14

我对Java比较陌生。需要将 Java 与 JDBC 一起使用。我当前尝试连接到计算机上的本地数据库。
这是培训的一部分,现在对我来说非常重要。我正在使用Java 8:

相应的训练和演示是使用 Java 7 驱动程序完成的,附带一个练习是:mysql-connector-java-5.1.21-bin.jar但是我被建议使用 Java 8 驱动程序,所以我从 https://dev.mysql.com/downloads/connector/j/ 下载了 mysql-connector-java-8.0.29.jar(独立于平台)

MySQL(本地数据库)如下所示: 主机名:127.0.0.1 用户:根 端口:3306

驱动程序:mysql-connector-java-8.0.29.jar被复制到项目文件夹“libs”中并添加到构建路径中:

我创建的以下代码(类主):

package com.lynda.javatraining.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Main {
private static final String USERNAME = "root";
private static final String PASSWORD = "secret";

//private static final String CONN_STRING =
//"jdbc:mysql://localhost/explorecalifornia";

//private static final String CONN_STRING =
//"jdbc:mysql://127.0.0.1/explorecalifornia";

**//This is the string I use currently:** 
private static final String CONN_STRING =
"jdbc:mysql://127.0.0.1:3306/explorecalifornia";

//"jdbc:mysql://127.0.0.1:3306/?user=root/explorecalifornia";

  public static void main(String[] args) throws SQLException {

    Connection conn = null;
    try {
        conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
        System.out.println("Connected");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        //e.printStackTrace();
        System.err.println(e);
    }finally {
        if (conn != null) {
            conn.close();
        }
      } 
   }
}

当我运行代码时,我得到:java.sql.SQLException:找不到适合jdbc的驱动程序:mysql://127.0.0.1:3306/explorecalifornia

我尝试了不同的组合CONN_STRING(请参阅上面的代码中注释的所有组合),仍然不起作用。我尝试了最初提供的驱动程序(mysql-connector-java-5.1.21-bin.jar),但没有成功(这是意料之中的)。请有人给出建议。

共有1个答案

司空高义
2023-03-14

MySQL Connector/J 8 需要 Java 8,而您尝试在 Java 7 上运行它(如 IDE 屏幕截图中的“JRE 系统库 [JavaSE-1.7]”所示)。将您的项目升级到Java 8(或更高版本),或降级到较旧的MySQL Connector/J版本(例如MySQL Connector/J 5.1.49,支持Java 5或更高版本)。

如果将 Class.forName(“com.mysql.cj.jdbc.Driver”) 添加到 main 方法的开头,则可能会收到导致 UnsupportedClassVersionErrorNoClassDefFoundError

有关错误“java.sql.SQLException:找不到适用于 jdbc:mysql://...”的驱动程序的一般原因,另请参阅将 Java 连接到 MySQL 数据库

 类似资料:
  • 问题内容: 我正在尝试编写一个程序以在eclipse中连接到MySQL数据库,但出现错误 “ java.sql.SQLException:找不到合适的驱动程序” 。 Java代码是: } 控制台选项卡中的输出为: 我已经使用了MySQL Connector / J。将其解压缩到MySQL安装目录中,并将jar文件添加到CLASSPATH中。 另请参阅此图像。有一个 !在项目根目录上标记。image

  • 我的一些代码有问题,我已经搜索并尝试了我所知道的一切,但没有任何运气。 场景: > 应用程序检查JDBC驱动程序是否存在,在本例中是H2驱动程序(org.H2.driver) 如果不存在,应用程序将下载JDBC驱动程序并将其添加到类加载器中,如下所示:(注意:storageDataManager是我用于SQL方法的一个类) 当Storage ageDataManager运行第一个查询时,它会尝试与

  • 试图连接到允许远程连接的免费mysql数据库主机,但我遇到了以下错误: 未找到适合jdbc的驱动程序:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306 我使用下面的代码。 编辑 Stack Trace显示在下面:

  • java。sql。SQLException:找不到适合jdbc的驱动程序:h2:tcp://localhost/当我尝试使用java web应用程序连接到h2数据库时,抛出了~/ZadatakDB。 我可以使用H2控制台没有任何问题,ping是成功的。 我还将h2-1.3.176 jar文件添加到库和WEB-INF/lib中。 下面是我用来连接的Java方法: 我会错过什么? 我还将添加Stack

  • 我已经检查了这个问题的所有消息,但它是一样的,它不起作用。我必须用java连接到sql服务器2008数据库,我已经添加了sqljdbc4.jar但什么也没有。 我做的不好,如果你还需要什么,请告诉我。 我收到这条消息: Java语言sql。SQLException:未找到适合jdbc的驱动程序:sqlserver://xxx.xxx.xxx.xxx:1433;databaseName=ccis;用

  • 我使用的是用于MariaDB的连接器,但它不起作用。 下面是连接代码: 我得到: 除了将其作为外部jar添加到库之外,我还将其作为驱动程序添加到NetBeans(服务)中的数据库中。此外,如果我删除,它也不能正常工作。

  • 问题内容: 我正在尝试在Web项目引用的Java项目中运行hibernate模式。足够简单,除了无法hibernate以连接到数据库。我有很多人描述这个问题并获得大量答案,但是似乎没有一个对我有用。 这就是我的 hibernate.cfg.xml的 样子: 我将代码调试为 DriverManagerConnectionProvider 类,尝试使用 getConnection() 方法会引发异常

  • 我正在尝试使用以下代码将我的JavaMaven项目(在Jetty服务器上运行)连接到Google Cloud MySQL数据库: 我已经在pom中包含了这两个依赖项。xml: 我要走了 JAVAsql。SQLException:找不到适合jdbc的驱动程序:mysql://google... 我不知道该怎么办。我假设依赖项应该处理将JDBC驱动程序添加到我的类路径。