- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ociuldr 来自来自AnySQL.net 的文本导出的文本导出工具工具
来自来自 的的文本导出文本导出工具工具
文本格式在不同的数据库之间进行数据交换还是很有用的,我第一次用Java 写
具有这个功能的程序就是为了将Oracle 数据库中的数据导出成格式化文本,然后
交给数据仓库组,将数据装载到Sybase IQ 中进行分析。后来发现文本格式在不同
字符集的Oracle 数据库之间交换数据也是很有用的。然而Oracle 却没有发布高效
的工具,以让人方便地将数据导出成文本格式,估计是不愿意人家将数据移别的数
据库上吧!
最具名气的具有这个功能的工具是AskTom 上发布的段程序,一个是用
SQL*Plus 的Spool 功能实现的角本程序;另一个是Tom Kyte 写的一段unload.pc 程
序。目前,ociuldr 还不太为人们所知,即然有了这两个好的程序,为什么还要写
ociuldr 呢?用Spool 实现的方法不太方便,而他的unload.pc 程序在不同的Oracle
客户端版本需要重新编译,并且功能有限。ociuldr 同他们相比具有以下特有功
能:
• 用OCI 写成,性能不亚于Tom 的unload.pc 程序
• 在Oracle 8i/9i/10g 的客户端下不需要重新编译
• 可以指定任意的字段分隔符和记录分隔符
• 可以自动生成用于装载记录的SQL*Loader 控制文件
• 更多的性能调整选项
下面就来学习和使用一下这个免费的小工具吧!
ociuldr 的语法及命令行选项的语法及命令行选项
的语法及命令行选项的语法及命令行选项
ociuldr 是一个命令行工具,不是一个图形向导式的工具,这一点可能不为你所
喜欢,不过因为是命令行工具,使得写出来的程序可以在Linux/Unix 直接进行编
译,以支持多种平台,已经编译好的平台有Windows 、RedHat Linux 、Solaris
Sparc 64bit,另外还在AIX 上编译过,由于没有足够的编译环境,因此将源代码直
接放在个人主页(AnySQL.net)上进行下载。
• 软件下载:/software/ociuldr.zip
• 源码下载:/software/ociuldr.c
不带任何参数运行ociuldr 就可以获得命令帮助:
C:\MYDULociuldr
Usage: ociuldr user=... query=... field=... record=... file=...
(@) Copyright Lou Fangxin 2004/2005, all rights reserved.
Notes:
-si = enable logon as SYSDBA
user = username/password@tnsname
sql = SQL file name
query = select statement
field = seperator string between fields
record= seperator string between records
file = output file name(default: uldrdata.txt)
read = set DB_FILE_MULTIBLOCK_READ_COUNT at session level
sort = set SORT_AREA_SIZE SORT_AREA_RETAINED_SIZE
at session level (UNIT:MB)
hash = set HASH_AREA_SIZE at session level (UNIT:MB)
serial= set _serial_direct_read to TRUE at session level
trace = set event 10046 to given level at session level
文档评论(0)