为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:麒麟v10
【CPU】:arm
【问题描述】*:jdbc通过DatabaseMetaData调用getDatabaseMinorVersion失败,返回值为""
具体报错信息如下:
在hibernate注册sessionFactory的过程中获取数据库信息报错,项目是在tongweb上注册了jdbc,以jndi的形式连接
jdbc连docker版本获取DatabaseProductVersion也有这个问题,用的还是官方的驱动包,底层他们获取的版本是8…xxxxx,用点分割后,第二个位置是"",string转int就报错了
看回答,知道原因,但是没解决问题啊,难道开发环境下不给用开发版,要用授权的版本吗?我用的flyway数据库版本管理框架,内部也调了这个方法,启动报错了。达梦官方不解决,难道只能改框架源码catch异常吗,官方能不能给个解决方案?
亲测使用该版本驱动有效
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.2.141</version>
</dependency>
错误关键字 java.lang.NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有 For input string: “” 提示,这就告诉我们你当前想把 “” 转换成数字类型时出错了
可以参考一下如下的博文,
https://blog.csdn.net/just_do_it_one/article/details/80299634