错误消息:为 中的字段“255”设置索引。
出现这个问题的原因是mysql版本高而mysql的jar版本低,导致mysql和jar的编码混乱。 也就是说默认的jar包版本太低。
所以指定一个新的mysql对应的驱动
再次指定新的驱动后,仍然出现该错误
错误消息:com/mysql/jdbc/:major.minor 52.0
出现这个问题的原因是jdk版本与jdbc不兼容,JDK版本太低。 jdk高版本兼容低版本,但低版本不兼容高版本。
上网查相关资料了解:
Major.minor,相当于软件的主版本号和次版本号,只不过这里它标识了Java类的主版本号和次版本号。
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
也就是说需要jdk1.8的环境,客户反馈的JDK版本也是使用的JDK1.8。
在达盟软件的安装目录下,有一个jdk目录。 这个jdk环境是运行大盟软件时使用的。
解决办法是更改DTS使用的JDK环境:
方法一:关闭DTS工具。 备份现有的jdk文件,复制所需的JDK1.8环境,并重命名为jdk(注意:这种方法会替换整个大盟数据库软件JDK,即使JDK向后兼容,可能仍然存在一定的风险)
方法二:关闭DTS工具。 进入达梦软件安装目录的tool目录。 可以看到有一个dmt.ini文件。 请先备份该文件。 我在这里将其备份为 .ini。
这时修改dts.ini文件,将原来的jdk改为需要的jdk版本。
即修改../jdk/bin为新的jdk目录。 我的目录是C:\Files\Java\jdk1.8.0_221\bin
至此,JDK替换工作完成(该方法仅更改DTS使用的JDK版本,不会影响整个数据库软件)
-------------------------------------------------- ----------
通过上述方法更改DTS使用的JDK版本后,再次打开dts工具,配置连接数据源,指定驱动,自动获取驱动类名
此时点击下一步仍然会报错。
错误消息:时区值“�й���ʱ��”是一个或多个时区。 如果您想要时区,则必须使用 或 JDBC(通过 '')来使用更多时区值。
这个错误主要是因为.0版本使用的数据库连接字符串不同,而且还有时区要求,所以需要勾选Use URL选项,然后引用下面的连接。
url: jdbc:mysql://:3306/?=utf8&=false&=UTC&ents=true
此时点击下一步就不再报错了,可以成功连接.0
目前已验证.0.17和MySQL 8.0.19版本