数据库迁移:oracle to mysql
1.power_designer 更改表结构,修改必要的数据类型使其适应MySQL(选database 栏,再选mysql)
2.用power_designer生成的sql语句,批量创建数据库表导入Mysql中:
注意编码:建数据库选择utf-8,创建表时也要提前指定好utf-8编码,
创建数据库表语句末尾加上ENGINE=InnoDB DEFAULT CHARSET=utf8
例如:
create table EXTEND_DATA
(
EXTEND_DATA_ID int not null auto_increment comment '扩展数据ID',
EXTEND_DATA_TYPE_ID int not null comment '扩展数据类型ID',
EXTEND_DATA_SOURCEID int not null comment '扩展数据源ID',
EXTEND_DATA_VALUE varchar(2000) comment '扩展数据值',
EXTEND_DATA_DISPLAY_ORDER int comment '扩展数据显示顺序',
EXTEND_DATA_REMARK varchar(200) comment '备注',
primary key (EXTEND_DATA_ID)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.运用Aqua Data Studio 现将 oracle 数据库批量导出成txt 格式文件(utf-8编码),其中某些字段自定义格式,再导入到mysql中。(Aqua Data Studio mysql 设置utf-8编码,选中mysql的server property,Parameter栏 加上?useUnicode=true&characterEncoding=utf-8 过滤字符,如图)
4.导入数据时注意外键关联。先导入基础表数据,再导入设置外键关联的表。
如:
有如下外键关联,且 UUM_PERSON 无外键关联,则先导入person数据,再导入user数据
alter table UUM_USER add constraint FK_Reference_8 foreign key (PERSON_ID)
references UUM_PERSON (PERSON_ID) on delete restrict on update restrict;
依次导入全部表即可。