SQLULDR2处理MySQL的空值
浏览:3155次 出处信息
要将Oracle数据库中的大量数据迁移到MySQL中, 用SQLULDR2生成格式化文本文件, 然后用mysqlimport来导入到目标库, 是一个高效免费的方案. 最近正好有这样的一个数据迁移需求, 并做了一些测试, 速度很不错, 但MySQL对于空值(NULL)的处理有些特殊, 在以前的SQLULDR2中, 空值输出成空的字符串, 如下所示.
ICOL$,TABLE,4CON$,TABLE,
UNDO$,TABLE,
C_COBJ#,CLUSTER,
PROXY_ROLE_DATA$,TABLE,
......
用mysqlimport导入数据时, 第三列上的空值(Oracle中)导入到MySQL中时, 就不是空值(NULL)了, 而是长度为0的字符串, 如果导入到数字类型中, 则全变成0, 很显然这不是我们想要的结果. mysqlimport在默认情况下, 会将\\N处理成NULL值, 因此从Oracle导出成文本时, 需要将空值处理一下, 以方便在MySQL中准确导入.
ICOL$,TABLE,4CON$,TABLE,\\N
UNDO$,TABLE,\\N
C_COBJ#,CLUSTER,\\N
PROXY_ROLE_DATA$,TABLE,\\N
......
在使用SQLULDR2时, 指定NULL命令行选项即可, 如下所示.
SQLULDR2 sys QUERY=tab NULL=\\N前几天还在想SQLULDR2都这么多命令行选项了, 应当齐了吧, 没想到又多了一个用户需求导致的命令行选项. 用户需求真是值得我们好好研究.
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:没有更老的了!,您可返回本栏目:MySQL
后一篇:Mysql中如何批量生成脚本 >>
文章信息
- 作者:anysql 来源: AnySQL.net
- 标签: SQLULDR2
- 发布时间:2009-10-11 00:07:50
建议继续学习
近3天十大热文
-
[927] WordPress插件开发 -- 在插件使用 -
[133] 解决 nginx 反向代理网页首尾出现神秘字 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 整理了一份招PHP高级工程师的面试题 -
[50] 全站换域名时利用nginx和javascri -
[50] 海量小文件存储 -
[50] 用 Jquery 模拟 select -
[49] CloudSMS:免费匿名的云短信 -
[48] Innodb分表太多或者表分区太多,会导致内 -
[47] jQuery性能优化指南
