Jdbc 将mysql升级到版本8后出现连接器/J错误 问题:

Jdbc 将mysql升级到版本8后出现连接器/J错误 问题:,jdbc,wolfram-mathematica,jconnect,mysql-8.0,Jdbc,Wolfram Mathematica,Jconnect,Mysql 8.0,我将mysql升级到最新版本: 127.0.0.1$ mysql -V mysql Ver 14.14 Distrib 8.0.0-dmr, for Linux (x86_64) using EditLine wrapper 现在我无法通过jdbc使用程序mathematica中的驱动程序connector/j连接mysql。当我尝试这样做时,我看到异常: JDBC::error: java.lang.ClassCastException: java.math.BigInteger ca

我将mysql升级到最新版本:

127.0.0.1$ mysql -V 
mysql  Ver 14.14 Distrib 8.0.0-dmr, for Linux (x86_64) using  EditLine wrapper
现在我无法通过
jdbc
使用程序
mathematica
中的驱动程序
connector/j
连接
mysql
。当我尝试这样做时,我看到异常:

JDBC::error: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
我所做的调试 为了调试,我在虚拟机上安装了最旧的
mysql

192.168.43.48$ mysql -V
mysql Ver 14.14 Distrib 5.5.53, for debian-linux-gnu (x86_64) using readline 6.3
并且与最老的
mysql
的连接正确完成

您可以在屏幕上看到初始化连接的命令和这些结果:

My Mathematica使用以下版本的
JDBC
Connector/J

  • JDBC有版本3
  • 接头/J有5.1.27
我通过执行命令(在
mathematica
not
bash
)获取这些信息:

这就产生了输出:

JDBCDriver["Name" -> "MySQL(Connector/J)", 
"Driver" -> "com.mysql.jdbc.Driver", "Protocol" -> "jdbc:mysql://", 
 "Version" -> 3., 
 "Description" -> 
  "MySQL using Connector/J - Version 5.1.27 - This supports all known \
MySQL server versions.", 
 "Location" -> 
  "/usr/local/Wolfram/Mathematica/10.0/SystemFiles/Links/DatabaseLink/\
DatabaseResources/mysql.m"]
我附加了有关java版本的信息:

127.0.0.1$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

我应该升级
jdbc
connector/j
,还是降级
mysql
?也许还有别的解决办法

Connector/j5.x不会连接到MySQL 8.x数据库;您必须使用8.0.x连接器/J驱动程序


注意,对于8.0.x连接器/J驱动程序,类路径也发生了变化,从
com.mysql.jdbc.driver
com.mysql.cj.jdbc.driver
连接器/j5.x将不会连接到mysql 8.x数据库;您必须使用8.0.x连接器/J驱动程序


请注意,对于8.0.x Connector/J驱动程序,类路径也发生了更改,从
com.mysql.jdbc.driver
更改为
com.mysql.cj.jdbc.driver

您尝试过升级Connector/J吗,版本5.1.27相对较旧。Mathematica中的连接器放在
/usr/local/Wolfram/Mathematica/10.0/SystemFiles/Links/DatabaseLink/Java
,但简单地删除文件
mysql-connector-Java-5.1.27-bin.jar
并粘贴文件
mysql-connector-Java-5.1.40-bin.jar
不起作用。您尝试过升级连接器/J吗,版本5.1.27相对较旧。Mathematica中的连接器放在
/usr/local/Wolfram/Mathematica/10.0/SystemFiles/Links/DatabaseLink/Java
,但简单地删除文件
mysql-connector-Java-5.1.27-bin.jar
和粘贴文件
mysql-connector-Java-5.1.40-bin.jar
不起作用。
127.0.0.1$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)