2025年sqluldr2 字符集(sqlldr字符编码)

sqluldr2 字符集(sqlldr字符编码)作者 楼方鑫 网名 d c b a 个人主页 文本导出文本导出 文本导出文本导出 将数据导出成文本文件 在其他数据库 如 Sybase SQL Server MySQL 中看起来 是一件很容易的事 因为有官方的类似工具 bcp 或命令 SELECT INTO 和 LOAD DATA 但在 Oracle 数据库上要做好这件事情却并非易事 Oracle 即没有这样的工具

大家好,我是讯享网,很高兴认识大家。

 作者:楼方鑫 (网名:d.c.b.a ) 个人主页:
文本导出文本导出
文本导出文本导出

将数据导出成文本文件,在其他数据库 (如Sybase、SQL Server、MySQL )中看起来 

讯享网

是一件很容易的事,因为有官方的类似工具 (bcp )或命令(SELECT INTO 和 LOAD DATA) , 但在 Oracle 数据库上要做好这件事情却并非易事,Oracle 即没有这样的工具,也没有提供 这样的命令,因此经常看到论坛上有人在问如何将 Oracle 的数据快速导出成文本。回想起 从大学毕业从事 IT 行业开始到现在,在许多项目中都遇到了这样的需求,也用过数种不同 的语言(Java、PowerBuilder 、Perl 等)来实现过这个功能,但以前已经实现的每一种都不是最 佳的,始终有些缺憾。


讯享网

讯享网刚毕业时当程序员,第一年用Developer 2000 ,面对的所有数据库都是Oracle,没有文 

本导出要求,学会了 Oracle 的导入导出 (exp/imp )功能。第二年用Power Builder ,面对的 数据库就有 Oracle 和 Sybase,就遇到过文本导出的需求,用Power Builder 的数据管道实现 过,都是结合在具体项目中使用,单独用的很少,也不方便,为了一个文本导出功能需要一 个很大的运行环境,并且速度也不快。后来 Java 流行,用 JDBC 实现了一个,算是比较轻 量级的了,基本上Java 的运行环境哪儿都有,在测试速度时,发现与 OCI 程序比要达到同 样的速度,运行Java 程序的机器上多耗了四倍的 CPU,也就是用Java 版本的文本导出程序 常常让客户端的 CPU 跑满,因此无法面对更大量 (上GB )的数据导出。

开始做专职的 DB 后,一开始也在找能实现文本导出的好工具,和许多 DB 一样在 

上找到了 Tom Kyte 写的两个脚本,一个是用 SQL*Plus 的 spool 功能来实 现的,另一个是用Pro*C 语言来写的程序。用spool 实现的不是很喜欢,第一速度不快,第 二个不能指定任意字段分隔符,及记录分隔符。Pro*C 版本的在性能上很好,但在灵活性上, 还是比较差,要实现当时想到的需求,一样要改源程序,并且用 Pro*C 的程序在编译后很 难跨版本通用,而这一点我比较看重,于是就想到以这个高效程序为样本,写一个更灵活通 用的文本导出程序。

讯享网刚好对 C 语言及 Oracle Call Interface 产生了一些兴趣,就拿这个任务来练手吧。没有想 

到的是,为了这么一个小工具,前前后后五六年了,还在不停地维护,根据不同用户提出的 改进需求完善程序,是当时没有始料到的事情。当然在整个过程中,得到了很多人的感谢邮 件,而我自已也体会到坚持的乐趣,也让我对更多的事情多一分坚持。
作者:楼方鑫 (网名:d.c.b.a ) 个人主页:
作者:楼方鑫 (网名:d.c.b.a ) 个人主页:
Sqluldr2

Sqluldr2 是灵活与强大的Oracle 文本导出程序,已被大众使用三年多了,有几千国内外 

DB 在使用它或使用过它,并在使用的过程中提出了宝贵实用的改进意见,在完善了众多 真实客户的需求后,最终形成了现在的稳定版本。Oracle 有一个工具叫 SQL*Loader(sqlldr) 是用来将文本文件装载到数据库中的,而我的工具是用来将Oracle 中的数据导出成文本的, 因此取名为 SQL*UnLoader(sqluldr),而最后的 2 是因为第一版是用 OCI 7 接口写的,而现 在发布的是用 OCI 8 接口重写的,是第二代的意思。学会这样的好工具,在一定的场合可以 让 DB 的某些工作做得更轻松自在。

讯享网文本方式有什么作用?文本方式是不同类型数据库数据交换的重要方式,从小的地方 

说,例如将一些 Oracle 性能数据收集到 MySQL 中,进行分析和展示;从大的地方讲,sqluldr2 曾被用来在Oracle 系统中导出大批量的数据,然后装载到数据仓库 (NCR 或 Sybase IQ )中。 阿里巴巴 (Alibaba )集团的 DB 几年前就开始用 sqluldr 从生产系统中导出巨量数据给数 据仓库分析,并在真实应用环境下创下了我所见过的文本导出速度的最高记录, 总共用了 5

小讯
上一篇 2025-06-09 13:18
下一篇 2025-06-10 18:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/149361.html