ociuldr可自动生成SQL*Loader装载的控制文件

    sqlldr工具现在可以生成SQL*Loader的控制文件信息了, 这样可以极大地方便我们移植数据了, 如下所示:

C:\TEMP> ociuldr user=anysql/anysql@prod query="select sysdate  from tab"
--
-- Generated by OCIULDR
--
OPTIONS(BINDSIZE=4194304,READSIZE=4194304,ERRORS=-1,ROWS=50000)
LOAD DATA
INFILE 'uldrdata.txt' "STR X'0a'"
INTO TABLE <table_name>
FIELDS TERMINATED BY X'2c' TRAILING NULLCOLS
(
  TNAME CHAR(30),
  TABTYPE CHAR(7),
  CLUSTERID CHAR(40)
)

       0 rows exported at 2006-10-11 18:10:13
      22 rows exported at 2006-10-11 18:10:13

    用时只要将表名(红色的部份)替换一下就行了.

留言 (12)

不错不错,功能是越来越强大了

请问在windows下如何编译ociuldr.c

怪不得找不到了,原来你的site被人黑了,我记得曾经有一篇文章介绍过如何在windows编译oci,还有一个.bat文件呢,不知道现在有没有了

cl -I%ORACLE_HOME%\oci\include -L%ORACLE_HOME%\oci\lib\msvc /ML ociuldr.c oci.lib

我的怎么不显示出SQL*Loader的控制文件信息呢?
D:\ociuldr>ociuldr.exe user=prod/prod@150 query="select sysdate from tab"

0 rows exported at 2007-03-02 13:45:03
193 rows exported at 2007-03-02 13:45:03
output file uldrdata.txt closed at 193 rows.
还是跟以前的一样啊?

要加一个"table=目标表名"才会生成控制文件了.

确实可以了。多谢了!

C:\>F:\oracle\oracle_tools\数据加载工具\ociuldr\ociuldr.exe user=a/a@orcl query="select * from khxx" table="khxx" field=, record=0x0a file=c:\test.txt

0 rows exported at 2007-03-28 10:40:38
500000 rows exported at 2007-03-28 10:40:42
721032 rows exported at 2007-03-28 10:40:44
output file c:\test.txt closed at 721032 rows.


为什么不这样写还是不行啊???

sqlldr的控制文件可能生成在F:\oracle\oracle_tools\数据加载工具\ociuldr\目录下了.

在F:\oracle\oracle_tools\数据加载工具\ociuldr\目录下也没有!提个建议,能不能自定义生成控制文件的路径,不然让他和生成的txt文件在同一个路径也可以阿

我找到了 ,原来文件生成在 c:\底下了

谢谢了 ~!!!

默认是生成在当前工作目录下, 你搞这样的路径来使用, 还是很少见的.

发表留言:

« Previous | Main | Next »

英语900句 | English 900

  • Yes, I've just come back from Scotland.
  • 是的, 我刚从苏格兰回来.
  • How did you get there?
  • 你怎么去的?
  • I got there by plane.
  • 我坐飞机去的.
  • Where did you visit?
  • 你去参观了哪些地方?
  • I only had time to visit Edinburgh.
  • 我只有时间去爱丁堡.