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)
不错不错,功能是越来越强大了
Posted by blue_prince | Oct 12, 2006 10:34 AM
请问在windows下如何编译ociuldr.c
Posted by boysoft | Nov 7, 2006 11:09 PM
怪不得找不到了,原来你的site被人黑了,我记得曾经有一篇文章介绍过如何在windows编译oci,还有一个.bat文件呢,不知道现在有没有了
Posted by boysoft | Nov 7, 2006 11:16 PM
cl -I%ORACLE_HOME%\oci\include -L%ORACLE_HOME%\oci\lib\msvc /ML ociuldr.c oci.lib
Posted by anysql | Nov 7, 2006 11:18 PM
我的怎么不显示出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.
还是跟以前的一样啊?
Posted by qsxing | Mar 2, 2007 1:49 PM
要加一个"table=目标表名"才会生成控制文件了.
Posted by anysql | Mar 2, 2007 3:01 PM
确实可以了。多谢了!
Posted by qsxing | Mar 5, 2007 1:23 PM
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.
为什么不这样写还是不行啊???
Posted by ly | Mar 28, 2007 11:42 AM
sqlldr的控制文件可能生成在F:\oracle\oracle_tools\数据加载工具\ociuldr\目录下了.
Posted by anysql | Mar 28, 2007 12:37 PM
在F:\oracle\oracle_tools\数据加载工具\ociuldr\目录下也没有!提个建议,能不能自定义生成控制文件的路径,不然让他和生成的txt文件在同一个路径也可以阿
Posted by ly | Mar 28, 2007 1:30 PM
我找到了 ,原来文件生成在 c:\底下了
谢谢了 ~!!!
Posted by ly | Mar 28, 2007 1:53 PM
默认是生成在当前工作目录下, 你搞这样的路径来使用, 还是很少见的.
Posted by anysql | Mar 28, 2007 1:59 PM