SQLULDR2处理MySQL的空值
浏览:3394次 出处信息
要将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天十大热文
-
[1163] WordPress插件开发 -- 在插件使用 -
[66] 解决 nginx 反向代理网页首尾出现神秘字 -
[48] Java开发岗位面试题归类汇总 -
[44] web开发设计人员不可不用的在线web工具和 -
[33] Rax 系列教程(长列表) -
[32] 一句话crontab实现防ssh暴力破解 -
[32] 手机产品设计方向 -
[30] 如何建立合适的索引? -
[29] 程序员疫苗:代码注入 -
[28] oracle技术方面的路线
