Oracle sqlldr TRAILING NULLCOLS requis, mais pourquoi?

J'ai une abscons sqlldr problème qui me tracasse. Mon fichier de contrôle ressemble à quelque chose comme ceci:

load data
infile 'txgen.dat'
into table TRANSACTION_NEW
fields terminated by "," optionally enclosed by '"'
TRAILING NULLCOLS
( A,
  B,
  C,
  D,
  ID "ID_SEQ.NEXTVAL"
)

Des données est quelque chose comme ceci:

a,b,c,
a,b,,d
a,b,,
a,b,c,d

Si je ne mets pas de FUITE NULLCOLS, j'obtiens la "colonne qui n'a pas trouvé avant la fin de l'enregistrement logique" d'erreur. Mais bien que certaines colonnes sont nulles, les virgules sont tous là, donc je ne vois pas une raison pour sqlldr interpréter le fichier d'entrée, et de ne pas arriver à la fin où il génère l'ID de la base de données de séquence.

Cette syntaxe a travaillé avant sans nul colonnes - pourquoi une colonne null cause sqlldr de ne pas atteindre le générés colonne?

J'ai eu à travailler, je veux juste comprendre POURQUOI!?!

source d'informationauteur orbfish