我有下表:
Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(230)
TEST VARCHAR2(230)
ID6 VARCHAR2(230)
ID4 VARCHAR2(230)
ID1 VARCHAR2(230)
ID2 VARCHAR2(230)
ID3 VARCHAR2(230)
ID5 VARCHAR2(230)
ID NUMBER(38)
案例1:
现在我尝试通过sqlldr
插入数据。它在为所有列提供值时加载数据,如下所示:
a,b,c,d,e,f,g,1
a,b,c,d,e,f,g,1
a,b,c,d,e,f,g,1
a,b,c,d,e,f,g,1
a,b,c,d,e,f,g,1
案例2:
当我尝试加载这样的数据时:
a,,,,,,,
未加载数据。
我也试过这种方式:
a,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
但收到了消息:
达到提交点 - 逻辑记录计数1
当我对该表进行计数时,它仍为0。
任何人都可以帮我加载案例2中的数据吗?
我的控制文件:
LOAD DATA INFILE 'temp.txt'
BADFILE 'temp_log.txt'
INTO TABLE a
FIELDS TERMINATED BY "," (
name,
test,
id6,
id4,
id1,
id2,
id3,
id5,
id)
答案 0 :(得分:0)
尝试以下代码 我试过了。工作
在temp.txt
中采集样本数据进行测试a,,,,,,,
使用" 尾随nullcols "用于在表中插入空数据
LOAD DATA
INFILE 'temp.txt'
BADFILE 'temp_log.txt'
INTO TABLE a
FIELDS TERMINATED BY ","
trailing nullcols
(name,
test,
id6,
id4,
id1,
id2,
id3,
id5,
id)
编写控制文件。让控制文件保存为" samp.ctl "并且数据文件保存为temp.txt。
在命令提示符中使用以下命令执行该文件 语法将是
sqlldr用户名/密码@database control = control_path_file log = log_path_file
sqlldr abc/abc@orcl123 control=samp.ctl log=log_samp.log
结果将是 达到提交点 - 逻辑记录计数1