1.授权给要迁移的数据库的用户
例如此时是 mysql迁移到达梦里面,所以得把你连接这个mysql数据库的这个用户root授权。
CREATE USER 'root' IDENTIFIED BY '123456';
GRANT ALL privileges ON *.* TO 'root'@'root' WITH GRANT OPTION;
2.操作达梦数据库,怎么写SQL如何才能不带上模式名?
参考文章:
1.python操作达梦数据库,怎么写SQL如何才能不带上模式名?
(1)创建表空间
#YELLOW为表空间名,可自行设置
CREATE TABLESPACE ABCD DATAFILE 'ABCD.DBF' SIZE 128;
(2)创造一个新的用户,并赋予其权限
#创建新用户,第一个ABCD是用户名,第二个是表空间名。
CREATE USER ABCD IDENTIFIED BY "123456789" DEFAULT TABLESPACE ABCD;
#赋予用户权限
GRANT RESOURCE TO ABCD;
(1)如果报错2101无效的用户名,有两种原因,一是该模式名已经创建并且指定了用户,二是权限不够,换一个用户名即可,
CREATE USER admin IDENTIFIED BY "123456789" DEFAULT TABLESPACE ABCD;
(2)管理工具报错,错误号: -5504,是登录的用户没权限查看。
错误消息: 没有[SYSOBJECTS]对象的查询权限
# 运行这行代码授权即可。只不过soi的权限比较大,看需求决定
grant soi, public, vti ,svi to 用户名;
1.打开DM数据迁移工具,创建一个迁移。
填写好之后
这里需要注意的是,可选可不选,按着你的需求来。
第一次创建模式的话这里可以勾选,但之前我们已经创建了一个模式赋予给了一个用户,此时的目的模式用之前的ABCD,并不勾选创建模式。
来到选择对象这一个页面,点击选择之后,再点转换按钮,打开之后把这些勾选上,并把应用到当前选项到其他同类对象全部勾选上,弹出窗口之后将这些表全部勾选上
如果报错外键和唯一约束冲突的,点击上一步,找到那张表点击转换把约束中的唯一约束去掉。
接着再一次报错以下
此时我们手动添加,回到DM管理工具找到刚才创建的模式表,新建查询
ALTER TABLE "ABCD"."ROLE_MODEL" ADD CONSTRAINT "rm_role_id" FOREIGN
KEY("ROLE_ID") REFERENCES "ABCD"."ROLE"("ID") ON DELETE CASCADE with index;
打开之后并设置你刚才创建好的模式表,url那一行写,
jdbc:dm://IP:端口/模式?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
另:参考文章