最近新进的一个项目组中,需要将表结构从Oracle数据库迁移到Mysql,但是由于手动转换过于麻烦,而且表字段动辄几十上百个,在网上搜索了使用PowerDesigner进行转换的方法,并进行实践。记录于此,便于寻找。
工具:
- PowerDesigner16.5.0.3982
- Oracle数据库连接工具,只要能获取到表结构即可,我使用的是PLSQL 12
转移的步骤如下:
- 我们要获取Oracle中的表并将其导出为sql文件
- 打开PowerDesigner创建一个Model
- 选择数据库类型及导入sql
- 转换并导出转换后的sql
接下来,就开始进行步骤截图
在Oracle导出表的sql文件,由于Oracle中表有对应的用户权限,通常我在导出之后 会将表的用户权限删除,如图中的HR.(替换所有HR.为空)
打开PowerDesigner 创建Model,选择相对应的Oracle环境(博主用的是11g)
选择要转换的SQL
之后文件就被导进来了
转换当前的数据库类型,我们要转换为Mysql,选择Mysql5.0(博主用的是5.0版本)
之后就成功转换为Mysql的类型了。
最后,导出的就是Mysql可以运行的sql文件了,可以直接在Navicat中执行sql导入。
需要注意的是,有时候转换的数据长度可能不相同,需要留意下,必要时在导入到Mysql后要手动进行更改,否则到时候导入数据可能会出错。
PowerDesigner用处是设计数据库模型的,我在此处只是由于工作需要才安装了这个软件(也才知道这个软件,阅历太少),且用到他的转换功能,将来如果有需要再仔细研究。
工具使用不久,如文中有错误,感谢指出。