为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:centos 7.5
【CPU】:
【问题描述】*:查询返回字段名称中,表字段全部转为大写了,是否能做到传入什么,就返回什么?
如上图,传入SQL语句中字段名为小写,而返回的列名称却是大写?
我们现在是从原pg数据库往达梦数据库上在做迁移,如果所有sql语句都要全部重写一遍,无疑工作量是巨大的,想知道你们为什么会做这个转换?
另外:在你们的文档《DM8程序员手册.pdf》中描述有2个参数,这2个参数是什么意思呢?看起来像是控制字段大小写转换的,但是无论设置何值,都没有任何效果。
ignoreCase参数跟结果集列名有关,columnNameUpperCase跟获取列名大小写有关,两个参数可加入到jdbc链接里,例如:jdbc:dm://192.168.85.3:5236?ignoreCase=true&columnNameUpperCase=false,两个参数使用效果参考如下:
ignoreCase=false&columnNameUpperCase=false
表字段ID为大写: 获取字段类型为大写,结果集大写譬如rs.getString(“ID”)可获取值,小写譬如rs.getString(“id”)报错”无效的列名",索引譬如rs.getString(1)可获取值
表字段id为小写: 获取字段类型为小写,结果集大写譬如rs.getString(“ID”)报错”无效的列名",小写譬如rs.getString(“id”)可获取值,索引譬如rs.getString(1)可获取值
ignoreCase=false&columnNameUpperCase=ture
表字段ID为大写: 获取字段类型为大写,结果集大写譬如rs.getString(“ID”)可获取值,小写譬如rs.getString(“id”)报错”无效的列名",索引譬如rs.getString(1)可获取值
表字段id为小写: 获取字段类型为大写,结果集大写譬如rs.getString(“ID”)报错”无效的列名",小写譬如rs.getString(“id”)可获取值,索引譬如rs.getString(1)可获取值
ignoreCase=true&columnNameUpperCase=ture
表字段ID为大写: 获取字段类型为大写,结果集大写譬如rs.getString(“ID”)可获取值,小写譬如rs.getString(“id”)可获取值,索引譬如rs.getString(1)可获取值
表字段id为小写: 获取字段类型为大写,结果集大写譬如rs.getString(“ID”)可获取值,小写譬如rs.getString(“id”)可获取值,索引譬如rs.getString(1)可获取值
ignoreCase=true&columnNameUpperCase=false
表字段ID为大写: 获取字段类型为大写,结果集大写譬如rs.getString(“ID”)可获取值,小写譬如rs.getString(“id”)可获取值,索引譬如rs.getString(1)可获取值
表字段id为小写: 获取字段类型为小写,结果集大写譬如rs.getString(“ID”)可获取值,小写譬如rs.getString(“id”)可获取值,索引譬如rs.getString(1)可获取值
若你想要获取到小写字段,在数据库环境为大小写敏感情况下,可把表字段建成小写的,columnNameUpperCase设置为false
是不是开启大小写敏感了
开启后表名列名不加双引号 会全部变成大写的哦
建表字段是大写吗