有用户使用皕杰报表连接数mysql据库,在sql语句中用as对字段名进行了重命名,反应重命名不起作用,as关键字无效。
于是对这个问题进行了测试验证,果然是重命名无效,数据集展开显示的还是原来的字段名。于是就上网搜索了一下问题,有人把问题定位到useOldAliasBehavior属性上,这个属性是通过jdbc连接数据库的属性设置,默认值为false,就是使用字段原名,不使用重命名。把useOldAliasBehavior值设为true就可以正常显示字段的重命名了,果真是这样吗?
于是用皕杰报表设计器进行了测试,在连接数据库的url中加上了useOldAliasBehavior=true,见下图:
再展开数据集查看,用as重命名的字段名都显示出来了。
那么是不是只有mysql数据库有这个问题呢?测试ORACLE,不需设置,应该是mysql数据库的个性问题。需要注意的是GBASE-8a中有useOldAliasBehavior参数,其默认值是什么,你可以自己测试下。
连接mysql的URL是:
jdbc:mysql://localhost/testDB? useOldAliasMetadataBehavior=true
如果还存在编码问题和时区问题,可以把编码和时区设置都加上:
jdbc:mysql://localhost/testDB?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
网友评论