针对-达梦数据库近期线上报错的两次记录

最近有一个新的项目正式上线现场环境,因为有信创得要求,所以采用了达梦数据库和东方通得中间件,并且系统为之做了适配,可是在系统上线之后,产生了两处错误,随之将其记录:

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,且程序打包之后得达梦驱动也是开发环境得驱动,于是解决方案是如下:

拿取现场达梦驱动,将本地仓库得达梦驱动更换为与现场版本一致,同时问题解决。

posted @ 2023-07-05 16:57  一得之见  阅读(1429)  评论(0)    收藏  举报