Oracle 正在使用控制文件和sqlldr在数据库中插入具有空值的额外行

Oracle 正在使用控制文件和sqlldr在数据库中插入具有空值的额外行,oracle,csv,sql-loader,Oracle,Csv,Sql Loader,CSV文件如下所示: C2,C3,C4 d2,d3,d4 OPTIONS (DIRECT = TRUE, SKIP = 1, ERRORS=0) unrecoverable load data CHARACTERSET UTF8 infile '<file name with full path>' Append into table SCHEMA_NAME."TABLE_NAME" fields terminated by "," optionally enclosed by

CSV文件如下所示:

C2,C3,C4
d2,d3,d4
OPTIONS (DIRECT = TRUE, SKIP = 1, ERRORS=0) 
unrecoverable load data
CHARACTERSET UTF8
infile '<file name with full path>'
Append into table SCHEMA_NAME."TABLE_NAME"
fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
("C1" CONSTANT 100,
"C2",
"C3",
"C4",
"C5" CONSTANT 'd5',
"C6" CONSTANT 'd6',
"C7" CONSTANT 'd7'
)
控制文件如下:

C2,C3,C4
d2,d3,d4
OPTIONS (DIRECT = TRUE, SKIP = 1, ERRORS=0) 
unrecoverable load data
CHARACTERSET UTF8
infile '<file name with full path>'
Append into table SCHEMA_NAME."TABLE_NAME"
fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
("C1" CONSTANT 100,
"C2",
"C3",
"C4",
"C5" CONSTANT 'd5',
"C6" CONSTANT 'd6',
"C7" CONSTANT 'd7'
)
选项(直接=TRUE,跳过=1,错误=0)
不可恢复的负载数据
字符集UTF8
填充“
追加到表架构\u名称中。“表\u名称”
以“,”结尾的字段,也可以用“”括起
尾随零线
(“C1”常数100,
“C2”,
“C3”,
“C4”,
“C5”常数“d5”,
“C6”常数“d6”,
“C7”常数“d7”
)
当我试图使用上述控制文件和sqlldr命令在db中加载上述csv文件时,在没有常量值的列为null的位置插入额外的3行,并相应地填充具有常量的列

注意:在db中,表包含控制文件中存在的所有列

我希望避免这些额外的行插入


您能帮忙吗?

您看过SQL加载器日志文件了吗?唯一明显的原因是您的文件包含没有数据的附加行。您能解释一下“没有数据的附加行”吗?当使用您的控制文件并给定csv文件时,我没有遇到同样的问题。它完全加载了一条记录。(ine
infle
C7
上的控制文件语法有问题)是的,现在已经更新了。@RohitKumar我指的是行尾字符,中间没有其他数据。
wc-l
报告的文件行数是多少?