达梦镜像报错记录

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();
image
1表示敏感,0表示不敏感。

 

大小写不敏感

  1. 无论对不对表名或列名加双引号,表名和列名大小写形式不会发生变化,创建时是大写就是大写,是小写就是小写。
  2. 不允许存在同名的数据库对象,即使大小写不同也算同名。
  3. 一个表中,不允许出现相同字段名,大小写不同也算同名。

 

大小写敏感库

  1. 不加双引号,创建表时会自动将表名和列名自动转换成大写形式,加双引号表名和列名则会保留原形式。
    create table test和create table "test"是不同的,前者会自动转换成TEST,后者保留原形式test。
  2. 大小写不同的两个表是不同对象。
  3. 一个表中,允许存在同名但大小写形式不同的字段。

 

posted @ 2022-04-26 15:03  aaacarrot  阅读(193)  评论(0编辑  收藏  举报