针对-达梦数据库近期线上报错的两次记录
最近有一个新的项目正式上线现场环境,因为有信创得要求,所以采用了达梦数据库和东方通得中间件,并且系统为之做了适配,可是在系统上线之后,产生了两处错误,随之将其记录:
1、dm.jdbc.driver.DMException:试图在blob或者clob列上排序或比较
2、dm.jdbc.driver.DMException: 网络通信异常
针对第一点,很好排查,是因为达梦数据库会有一些默认参数设置,其中此处影响得参数为:ENABLE_BLOB_CMP_FLAG
值得注意的是 ENABLE_BLOB_CMP_FLAG默认为0,为动态、会话级参数,参数含义为:是否支持大字段类型的比较。0:不支持;1: 支持,此时 DISTINCT、ORDER BY、分析函数和集函数支持对大字段进行处理。
注意:该参数并不能支持GROUP BY 对大字段进行处理。
针对第二个问题,通过日志分析,其他功能调取数据库都正常运行,只有个别功能会有此报错,检查现场数据库版本为达梦7000c,而开发环境为7000a,且程序打包之后得达梦驱动也是开发环境得驱动,于是解决方案是如下:
拿取现场达梦驱动,将本地仓库得达梦驱动更换为与现场版本一致,同时问题解决。

浙公网安备 33010602011771号