为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 8
【操作系统】:linux
【驱动】: Dameng JDBC Driver V8.1.3.26-Build(2023.06.30-18027-)
【问题描述】*:获取connect失败, sqlerrorcode = -2501
Caused by:dm.jdbc.driver.DMException:用户自定义异常或者未知错误
at dm.jdbc.driver.DBError.throwException(SourceFile:711)
at dm.jdbc.a.a.y.l(SourceFile:615)
at dm.jdbc.a.a.w.l(SourceFile:216) at dm.jdbc.a.a.y.t(SourceFile:550) at dm.jdbc.a.a.y.E(SourceFile:531) at dm.jdbc.a.a.a(SourceFile:217) at dm.jdbc.a.a.e(SourceFile:598) at dm. jdbc.a.a.d(SourceFile:579)
at dm.jdbc.driver.DmdbConnection.openConnection(SourceFile:646)
at dm.jdbc.internal.conf.EP.connect(SourceFile:143)
at dm.jdbc.internal.conf.EPGroup$EPSelector.select(SourceFile:417)
at dm.jdbc.internal.conf.EPGroup.connect(SourceFile:281) at dm.jdbc.driver.DmDriver.do_connect(SourceFile:146)
at dm. jdbc.filter.FilterChain.Driver_connect(SourceFile:3125)
at dm. jdbc.filter.reconnect.ReconnectFilter.Driver_connect(SourceFile:3528) at dm.jdbc.filter.FilterChain.Driver_connect(SourceFile:3123)
at dm.jdbc.driver.DmDriver.connect(SourceFile:452)
at iava.sal.DriverManaoer.aetConnection(DriverManaaer.iava:582)|
具体故障原因找到了。是jdk的ext目录下多了个jce-jdk13-118.jar,这是一个非jdk中的加密算法包,dm获取加密算法时有可能获取的不是缺省JDK中的加密算法,而是Bouncy Castle包中的加密算法,这样DM数据库解密失败。
sqlerrorcode = -2501 是用户名或密码错误报错的代码,驱动建议使用安装目录下drivers/jdbc下的驱动可能报错更精确;