为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1.1.78
【操作系统】:ubuntu
【CPU】:x64
【问题描述】*:获取表的列信息出错
查看jdbc代码,发现,在 dm.jdbc.internal.desc.MetaSQL中方法getColumns,有如下语句:
sql.append("CASE SF_GET_OCT_LENGTH(COLS.TYPE$, CAST (COLS.LENGTH$ AS INT), CAST (COLS.SCALE AS INT)) "); sql.append("WHEN -2 THEN NULL ").append("ELSE SF_GET_OCT_LENGTH(COLS.TYPE$, CAST (COLS.LENGTH$ AS INT), CAST (COLS.SCALE AS INT)) END "),然而数据库SF_GET_OCT_LENGTH只支持两个参数。所以说,这么重大的改动,能不能有个明显的地方做个特别通知什么的?跟半天代码才看到这个破地方。现在刚用达梦的,都会想着用最新驱动,但是数据库安装的,公司测试环境基本上都不会是最新版本的,这样就导致自动代码生成类似的工具无法使用。
建议根据服务端版本做好驱动匹配,规避类似的问题