达梦数据库随记

mysql转达梦8

id自增表转换后用工具打开表提示表不存在

1.转换表时不选择主键,转换后手动加上表

转换表后导入数据,提示不支持的数据格式

1.时间异常,读取出来的时间带T,修改连接mysql驱动为合适版本

转换对应关系配置在这里插入图片描述

创建模式

创建用户时会自动创建模式,通过创建用户创建模式,在使用新模式数据库时可以通过该用户直接连接到新模式

springboot+mybatis 从mysql转达梦

如果不使用SYSDBA模式 需要适用新建模式 登录账户需要该模式用户

 driver-class-name: dm.jdbc.driver.DmDriver
 url: jdbc:dm://127.0.0.1:5236/model?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
 username:model

达梦8初始化数据库

#进去dm安装目录下的bin
./dminit path=/usr/local/dm LENGTH_IN_CHAR=1 CHARSET=1

达梦服务

创建服务

#进去dm安装目录下的script/root
./dm_service_installer.sh -t dmserver -dm_ini /usr/local/dm/DAMENG/dm.ini -p GG

服务开机自起

systemctl enable DmServiceGG

启动服务

systemctl start DmServiceGG

查看服务状态

systemctl status DmServicejt

mysql find_in_set 函数自建

CREATE OR REPLACE FUNCTION "SYSDBA".FIND_IN_SET
                (
                        piv_str1 varchar2,
                        piv_str2 varchar2,
                        p_sep    varchar2 := ',')
                RETURN NUMBER
                            IS
                l_idx     number:=0;                 -- 用于计算piv_str2中分隔符的位置
                str       varchar2(500);             -- 根据分隔符截取的子字符串
                piv_str   varchar2(500) := piv_str2; -- 将piv_str2赋值给piv_str
                res       number        :=0;         -- 返回结果
                loopIndex number        :=0;
        BEGIN
                -- 如果piv_str中没有分割符,直接判断piv_str1和piv_str是否相等,相等 res=1
                IF instr(piv_str, p_sep, 1) = 0 THEN
                        IF piv_str          = piv_str1 THEN
                                res        := 1;
                        END IF;
                ELSE
                        -- 循环按分隔符截取piv_str
                        LOOP
                                l_idx    := instr(piv_str, p_sep);
                                loopIndex:=loopIndex+1;
                                -- 当piv_str中还有分隔符时
                                IF l_idx > 0 THEN
                                        -- 截取第一个分隔符前的字段str
                                        str:= substr(piv_str, 1, l_idx-1);
                                        -- 判断 str 和piv_str1 是否相等,相等 res=1 并结束循环判断
                                        IF str      = piv_str1 THEN
                                                res:= loopIndex;
                                                EXIT;
                                        END IF;
                                        piv_str := substr(piv_str, l_idx+length(p_sep));
                                ELSE
                                        -- 当截取后的piv_str 中不存在分割符时,判断piv_str和piv_str1是否相等,相等 res=1
                                        IF piv_str  = piv_str1 THEN
                                                res:= loopIndex;
                                        END IF;
                                        -- 无论最后是否相等,都跳出循环
                                        EXIT;
                                END IF;
                        END LOOP;
                        -- 结束循环
                END IF;
                -- 返回res
                RETURN res;
        END FIND_IN_SET;
commit;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值