中易网

如何将Oracle数据导入MySQL

答案:2  悬赏:40  
解决时间 2021-01-29 03:26
如何将Oracle数据导入MySQL
最佳答案
1、 运行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中选择Oracle Database Server,如果第一次使用会告之要求加载驱动程序ojdbc14.jar。
加载驱动程序之后,界面将变成如下的形式,在其中填写Oracle数据库的连接信息,按“Next”继续。
2、 在Target Database中默认Database System为MySQL Server,在Connection Parameters中填写相应的MySQL数据库的连接信息,按“Next”继续。
3、进行数据库连接测试,测试通过后按“Next”到Source Schemata Selection,点选准备进行数据迁移的Schemata后按“Next”继续。
4、在Object Type Selection,点Detailed selection按钮,在下方左侧列表中选择不进行迁移的表,将其放入右侧列表中,即左侧列表剩余的表都将进行数据迁移。选择好之后按“Next”继续。
5、在Object Mapping的Migration of type Oracle Schema,如果要设置参数,点Set Parameter按钮。如果默认数据库表为UTF8的话,则选择Multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写charset=gbk, collation=gbk_general_ci。Migration of type Oracle Table中要设置参数点Set Parameter按钮。如果默认数据库表为UTF8的话,则选择Data consistency/multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写addAutoincrement=yes, charset=gbk, collation=gbk_general_ci, engine=INNODB。选择好之后按“Next”继续。
6、再到Manual Editing,在这里可以修改建表脚本。由于Oracle与MySQL之间语法规则的差异,通常需要对脚本的数据类型以及默认值进行调整,比如Oracle中通常会对Timestamp类型的数据设置默认值sysdate,但在MySQL中是不能识别的。在Filter中选择Show All Objects,然后在Migrated Objects中选择要修改脚本的表,再点击左下方的Advanced就可以进行脚本编辑了。修改完之后点击右侧Apply Changes按钮保存,按“Next”继续。
7、然后一路“Next”,如果没有提示出错的话,就可以将指定表中的数据导入MySQL了。如果有提示出错信息,则需要返回到Manual Editing处对脚本重新进行修改。
需要补充一点,在导大容量数据特别是CLOB数据时,可能会出现异常:“Packets larger than max_allowed_packet are not allowed”。这是由于MySQL数据库有一个系统参数max_allowed_packet,其默认值为1048576(1M),可以通过如下语句在数据库中查询其值:
show VARIABLES like '%max_allowed_packet%';
修改此参数的方法是在mysql文件夹找到my.ini文件,在my.ini文件[mysqld]中添加一行:
max_allowed_packet=16777216
重启MySQL,这样将可以导入不大于16M的数据了,当然这数值可以根据需要作调整。
全部回答

将Oracle数据导入MySQL方法:
先把oracle表中的数据另存在excel表中,再把excel表中数据导入到mysql中。
这里要将oracle中表eventlogs的数据导入到mysql中。
步骤如下:
    1、在PL/SQL中用select * 搜索到eventlogs表的所有数据,然后右键点击"Copy to Excel";如下图所示:

   2、将数据保存为excel表,并重名;如下图:

    3、打开mysql的可视化工具,我这里是Navicat,选择表,点击导入向导;如下图所示:    

  4、选择上图中"导入类型"的"execel文件",然后点击"下一步";如下图所示:

 5、接下来会让你选择文件,选择你已经保存的excel文件,并选择“SQL Result”,如下图所示:

6、然后一直点击下一步,最后一步点击开始。会出现一个“sql result”的表,重命名为你想要的表即可。如图所示:
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
种植苎麻与养植蚕哪个成本高
每天跑十里路,晚上总睡不着是什么情况
大通湖:湖南粮食集团是否属于储备粮直属
每次都能听到藏传佛教念的经是什么
海纳宾馆(唐山滦南)地址有知道的么?有点事想
今晚和蓝颜(女)一起睡觉,刚刚她还对我搂搂
红米手机铃声为什么只响一下就不响了
安利全球研发有多牛
玩反恐精英用什么系统好?
从《苏武牧羊北海边》中可以看出,苏武是一个
索尼PS3游戏机怎么连接的
长春有比密室更高端好玩的吗
为什么西方女权主义者对圣经发难
校长乱收费应该怎么处罚
中秋节随笔300字 简单点
推荐资讯
有没有一些好玩的战棋游戏介绍
帮我用"景"‘苦‘字编个字谜’’
目前做微商怎么才能真正月入百万
护士可以考公务员吗?
不小心将水洒到有电处,别人无意踩到了被电了
OFFICE中“excel里如何一步步输入=IF(G2="","
郑民高速公路的路线规划
请问win10怎么发布用dreamwreaver做的网站呢
人在无聊时应该干点什么??
红酒知识就在 美酒季
有没有适合单簧管演奏的比较简单一点的曲谱啊
我的仁爱英语点读笔为什么下了教材还是没法用
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?