为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 8
【操作系统】:UOS Desktop 20 Pro
【CPU】: x86_64
【问题描述】*:
前言:数据库已经开启大小写敏感(实际非本公司创建的实例,无法修改),有表结构如下,关键字段例如id,userName 表名test
问题1:表名查询必须加引号
问题2:select id from test 提示 无效的列名[ID] 原因是强制将字段大写 例如select id from xxx 会变成 => select ID from xxx
都需要修改java等代码,基本弃用,但是不能所有的查询都要手动添加引号吧
官方能否从根源上解决查询字段问题
我也遇见这个问题了
有几个办法可以试下:
1、重建实例,将实例大小写敏感参数修改为不敏感。(根据描述现有环境没法修改)
2、将现有数据库模式下所有的对象名,包括表名、列名全部改成大写,应该也可以解决上面的问题。
(1)修改名称大小写的方法有几种。可以使用DM迁移工具、或者通过自定义SQL结合相关系统视图生成批量rename表名、列名的语句。
这里以使用DM迁移工具举例:
数据库新建一个用户,然后通过DM迁移工具将现在这个模式下的表迁移到新建的用户模式下,迁移的时候,迁移工具里面不要选择保持对象名大小写。 这样正常情况,新用户模式下的表名、列名均为大写。