Oracle数据导入MySQL的快捷工具

        Oracle数据库中的数据某些情况下需要导入到MySQL中,如何方便快捷地导入呢?使用MySQL GUI Tools中的MySQL Migration Toolkit就可以轻松搞定,该工具对CLOB、BLOB类型的数据也有非常好的支持。

  以下是利用该工具将原有的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”继续。

         如果源数据库和目标数据库连接信息无误,会显示“Execution completed successfully”,点“Advanced”会显示详细的信息;如下图,点“Next”

 

\

         选择Schemata,也可以用“ctrl”或则“shift”选择你需要的多个schemata,如图7,点“Next”,
 

\


                                                                                                                                     图7.
 实现数据转化,如图8,点“Next”,
 

\


                                                                                                                                       图8.
 如图9所示,选择需要迁移的表。默认选择schemata下所有的表。点“Detailed selection”,如图10所示,移除不需要的表,点“Next”,
 

\


                                                                                                                          图9.

 

\


                                                                                                                   图10.
 通过“set parameter”设置“object mapping”的参数,如图11,点“Next”,
 

\


                                                                                                                                       图11.
   对象被执行迁移,如图12,点“Next”,
 

\


                                                                                                            图12.
 后面的基本上就是点“Next”,直到完成,在图13,出现一个错误:
错误提示:
 Packet for query is too large (1767187 > 1048576). 
 You can change this value on the server by setting the max_allowed_packet' variable.
由于oracle表中用了varchar2(4000),表中连续4个字段都是varchar2(4000),大于mysql5系统默认值“max_allowed_packet=1048576”,
解决方式:
在mysql配置文件,(linux)vim /etc/my.cnf添加:
[mysqld] 
max_allowed_packet=16777216
至于其他系统,找mysql启动配置文件,添加即可。 
 

\


                                                                                                                                                 图13.

最后查看log。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值