Sql*load 4
C:\Documents and Settings\Administrator>sqlplus scott/tiger
SQL*Plus: Release 9.0.1.0.1 - Production on 星期六 8月 4 12:10:55 2012
(c) Copyright 2001 Oracle Corporation. All rights reserved.
连接到:
Oracle9i Enterprise Edition Release 9.0.1.1.1 - Production
With the Partitioning option
JServer Release 9.0.1.1.1 – Production
表格
SQL> desc zp_2;
名称 是否为空? 类型
----------------------------------------- -------- -------------
DEPTNO NUMBER
DNAME VARCHAR2(12)
LOC VARCHAR2(10)
ENTIRE_LNE VARCHAR2(10)
SQL> select * from zp_2;
未选定行
E:\zp\sqlload>notepad ulcase1.ctl
INFILE *
INTO TABLE zp_2T
REPLACE
( DEPTNO position(1:2),
DNAME position(*:16), // 这个字段的开始位置在前一字段的结束位置
LOC position(*:29),
ENTIRE_LINE position(1:29)
)
BEGINDATA
10Accounting Virginia,USA
E:\zp\sqlload>sqlldr userid=scott/tiger control=ulcase1.ctl log=ulcase3.log
SQL*Loader: Release 9.0.1.1.1 - Production on 星期一 8月 6 07:55:59 2012
(c) Copyright 2001 Oracle Corporation. All rights reserved.
达到提交点,逻辑记录计数2达到提交点,逻辑记录计数2
SQL> select * from zp_2;
DEPTNO DNAME LOC
---------- -------------------- ---------------
ENTIRE_LINE
------------------------------
10 Accounting Vir ginia,USA
10Accounting Virginia,USA(六)说明
DNAME position(*:16), // 这个字段的开始位置在前一字段的结束位置
LOC position(*:29),
ENTIRE_LINE position(1:29)
)
当CREATE TABLE 最后一列列值设短时,会报ora-01401的错误,只需要把列值改长就可以
控制文件中
LOAD DATA
INFILE *
INTO TABLE zp_2T
REPLACE
( DEPTNO position(1:2),
DNAME position(*:16), // 这个字段的开始位置在前一字段的结束位置
LOC position(*:29),
ENTIRE_LINE position(1:29)
)
BEGINDATA
10Accounting Virginia,USA
Position(1:2)插入文件第一个字符和第二个字符,Position(*:16)从上一个字段结束+1为*值(在本次试验中*代表2+1=3),最后一行Position(1:29)显示第一个字符到29个字符之间所有数据,其中不足以空格补齐
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27151369/viewspace-740751/ ,如需转载,请注明出处,否则将追究法律责任。