达梦数据库报错【java.lang.IllegalArgumentException:when l was specified,it must be less than bitlength(p)】

问题

最近工作中需要适配国产数据库达梦,在连接过程中出现错误,如下
在这里插入图片描述
之后就会出现用户名/密码错误的问题,但真正关键的错误信息是图中的信息。

解决

网上搜这个错误是搜不到的,但是查看关于达梦数据库的问题的博客发现,有可能是驱动包导致的,项目中使用的是Dm7JdbcDriver17,根据网友的回答,后面的这个数字对应jdk版本,17即对应jdk1.7,而我本机安装的是1.8,因此修改驱动包为Dm7JdbcDriver18,再启动就可以了。
在这里插入图片描述
网上驱动包的资源可能很少,如果本地安装了达梦数据库的话,在安装目录下(我的C:\dmdbms\drivers\jdbc)这里有一些驱动包,把需要的驱动包拷贝到项目里使用即可
在这里插入图片描述

最后

要使用达梦数据库的话还是安装一下达梦的客户端比较好,因为Navicat不能连接达梦数据库,达梦的客户端会同时安装很多工具,包括管理工具和数据迁移工具。
如有问题,欢迎评论区留言哦😁