尝试从 netbeans IDE 8.2 连接到 MySQL 服务器时出错

Error when trying to connect to MySQL server from netbeans IDE 8.2

尝试在我的代码中执行此操作时:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/MazeJumperLeaderboardDB", "root", "password");

无论我尝试什么,我似乎总是遇到这个错误:

java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
    at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:1062)
    at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3556)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2513)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    ... 61 more

我正在使用 Java NetBeans IDE 8.2 并使用 MySQL 连接器 Java 8.0.18.

我看过其他问题,特别是这个问题:

但是,这样做会导致相同的 'java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long' 错误。

此外,我似乎能够很好地连接到我的数据库驱动程序,但是当尝试连接到 MySQL 服务器时,它再次显示一条包含相同错误的错误消息。

我真的不确定此时还能尝试什么,所以非常感谢任何帮助!

我设法(终于)解决了我的问题。

问题出在 NetBeans 上预安装的 JDBC 驱动程序。预装的 JDBC 驱动程序是 5.1.23 版本,已经过时并且与我从 MySQL 网站安装的 JDBC 驱动程序不匹配。

所以,我所做的是:

我删除了NetBeans上'Libraries'文件夹中预装的驱动程序(在你的项目下,libraries文件夹),然后右击我的项目,选择'Properties',然后[=18] =],然后我点击 'Add JAR/Folder',然后浏览我的系统文件并搜索我下载的最新版本的 MySQL 连接器(Connector/J 8.0.18),然后我添加.zip 文件。然后我转到服务选项卡,并使用相同的 MySQL 连接器版本重新建立与数据库和驱动程序的连接,然后它工作并停止给我这个错误。