废话不多说,经过多种方法比较,用sqluldr2是最方便高效的,我宇智波斑愿称其为最强!
sqluldr2下载地址:http://www.pc6.com/softview/SoftView_516318.html
sqluldr2使用方法百度文库参考:https://wenku.baidu.com/view/ffd7e60400f69e3143323968011ca300a7c3f614
完美用法(管道法):
sqluldr264 oracle用户名/oracle密码@IP:1521/实例名 query=表名 text=mysqlins null=null escape=0x5c quote=0x27 charset=utf8 format=SQl file=- safe=yes | mysql -h mysqkl的IP -u mysql用户名 -p -D mysql数据库名 -P 3306 --default-character-set=utf8
经验:
1.oracle用的gbk字符集,mysql用的是utf8字符集,如果导出和导入的时候用的字符集不一样,就会出现各种报错,在下面的案例中,oracle的gbk字符集数据,转成utf8的方式导出来,导入mysql的时候,也要指定utf8字符集,这样才不会出错
2.参数解释
text=mysqlins 导出的文本是insert语句,假如两个数据库表名不一致,那么还要指定table参数
null=null 保持一致
escape=0x5c 指定转义字符是反斜杠,便于导入mysql,在MySQL中,默认的转义字符是反斜杠(\)
quote=0x27 指定转义字符是单引号,便于导入mysql,在MySQL中,默认的引号字符是单引号(')