达梦镜像报错记录
1、达梦镜像中文乱码
1.临时修改:
locale
locale -a
LANG=C.UTF-8 (有的是zh_CN.UTF-8,不过我在本地没发现这种编码)
source /etc/profile
2.永久修改:修改Dockerfile
在Dockerfile中添加一行
ENV LANG C.UTF-8
重新制作docker镜像,docker run -ti [镜像] 进入容器后执行locale发现编码格式已经被修改为C.UTF-8,之前出现的中文文件名乱码问题也没有了。
2、达梦大小写敏感
达梦数据库大小写敏感是由case_sensitive参数来控制大小写敏感的
设置大小写不敏感时,不能设置GB18030字符集
大小写敏感:./dminit path=/dmdata case_sensitive=1 charset=1 db_name=case1 instance_name=sensitive
大小写不敏感;./dminit path=/dmdata case_sensitive=0 charset=1 db_name=case0 instance_name=insensitive
查询大小写是否敏感SELECT SF_GET_CASE_SENSITIVE_FLAG();
1表示敏感,0表示不敏感。
大小写不敏感
- 无论对不对表名或列名加双引号,表名和列名大小写形式不会发生变化,创建时是大写就是大写,是小写就是小写。
- 不允许存在同名的数据库对象,即使大小写不同也算同名。
- 一个表中,不允许出现相同字段名,大小写不同也算同名。
大小写敏感库
- 不加双引号,创建表时会自动将表名和列名自动转换成大写形式,加双引号表名和列名则会保留原形式。
create table test和create table "test"是不同的,前者会自动转换成TEST,后者保留原形式test。 - 大小写不同的两个表是不同对象。
- 一个表中,允许存在同名但大小写形式不同的字段。