您的位置:首页 > 数据库 > Oracle

Oracle数据导入MySQL的快捷工具

2012-04-12 10:11 537 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: