Eclipse Java 6 与 Mysql 8
Posted
技术标签:
【中文标题】Eclipse Java 6 与 Mysql 8【英文标题】:Eclipse Java 6 with Mysql 8 【发布时间】:2021-09-16 05:42:26 【问题描述】:使用 java 6 和 mysql 5.1 处理现有项目 我们迁移到了 Mysql 8.0.24,但是我得到了这个错误
Caused by: 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:1041)
at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3481)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2445)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:172)
... 198 more
Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
at com.mysql.jdbc.ConnectionImpl.buildCollationMapping(ConnectionImpl.java:992)
... 211 more
当我进行研究时,当 Mysql 连接器的版本比 MySQL 低时会发生此错误。
但是我使用了许多版本的 MySQL 连接器,但我得到了同样的错误 (mysql-connector-java-5.1.46, 5.1.47,5.1.49,8.0.11,8.0.24)
我正在使用 Maven,我使用此命令安装依赖项:
mvn install:install-file -Dfile=C:\mysql-connector-java-x.jar -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=x -Dpackaging=jar -DgeneratePom=true
然后更新maven依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
有什么想法吗?
【问题讨论】:
请显示一些代码 @KenitPatel 我更新了帖子以显示代码 您更新了堆栈跟踪而不是代码:( 我没有任何实现连接的类,连接参数是在jboss服务器上设置的你的错误清楚地表明你有一个转换问题,因为 java.math.BigInteger 类实例不是 java.lang.Long 类的实例。
问题似乎与您的 MySQL 版本和您的 MySQL-connector.jar 版本相结合。尝试更新版本的 MySQL Connector/J(有关最新版本,请参阅 https://dev.mysql.com/downloads/connector/j/),例如,如果您使用的是旧版本,请升级到 5.1.47 或 8.0.12。
【讨论】:
感谢您的回答,正如我所说,我已经使用了不同的 mysql 连接器版本以及 8.0.2,但仍然出现相同的错误以上是关于Eclipse Java 6 与 Mysql 8的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse+Java+Swing+Mysql实现酒店管理系统
Eclipse+Java+Swing+Mysql实现学生信息管理系统