sqlldr column not found before end of logical record (use trailing nullcols)

在使用 SQL Loader 加载数据时,如果遇到 "column not found before end of logical record (use trailing nullcols)" 的错误信息,通常是因为您的数据文件中的行长度超过了您在 SQL Loader 控制文件中设定的最大行长度。

您可以在控制文件中使用 "TRAILING NULLCOLS" 关键字来解决这个问题。这个关键字会告诉 SQL*Loader 在遇到长度超过设定值的行时,将剩余的列视为 NULL 值,而不是抛出错误信息。

例如,如果您的控制文件中的 "LOAD DATA" 行看起来像这样:

LOAD DATA INFILE 'data.csv' INTO TABLE mytable FIELDS TERMINATED BY ',' TRAILING NULLCOLS

那么,当 SQL*Loader 读取数据文件时,如果遇到行长度超过了您在控制文件中设定的最大行长度,它会将剩余的列视为 NULL 值,而不是抛出 "column not found before end of logical record" 的错误信息。

希望这个回答对您有帮助。

  •