Oracle数据转移Mysql中遇到的问题以及解决办法
前几天因工作需要我得将Oracle数据库中几十张表转移到Mysql中,由于之前没有相关经验,上网简单百度后选用Navcat Premium软件工作。 Navcat Premium进行数据转移有三种办法:1、复制表 2、导出、导入数据 3、导出成sql脚本,执行。 一开始使用复制表的方法,打开菜单栏“工具”的数据传输功能,左边选择要复制的表,右边选择连接然后选中目标数据库,接下在就是next by next的一键式操作。这个方法真的很方便,但是bug也很多,最大的bug是数值类型不匹配。Oracle中数值类型是Number2,复制到Mysql中默认为double型,而我需要的是int型。使用这方法失败。 接着尝试将Oracle表中数据导出为文件再导入Mysql,由于导入导出操作有些复杂,且无法批量操作,需要在Mysql中先创建表,然后逐一导入数据,所以放弃。 最后尝试将数据以及表结构转储为sql脚本文件,在Mysql中执行。打开菜单栏“工具”的数据传输功能,左边选择要复制的表,右边选择文件。Mysql中执行sql文件时遇到问题,Oracle转储生成的sql脚本文件中数值类型是decimal(xx,xx),日期类型是datetime(x),而Mysql中没有decimal数值类型,日期类型只支持datetime并无显式的大小限定,于是决定用sublime编辑器修改