Oracle sqlldr NACHFOLGENDE NULLCOLS erforderlich, aber warum?

Habe ich eine abstruse sqlldr problem, das stört mich. Meine control Datei sieht ungefähr so aus:

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"
)

Daten ist so etwas wie dieses:

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

Wenn ich nicht setzen der NACHFOLGENDE NULLCOLS, bekomme ich die "Spalte nicht gefunden, bevor Ende des Datensatzes" - Fehler. Aber obwohl einige der Spalten null sind, die Kommas sind alle da, so sehe ich keinen Grund für sqlldr falsch interpretiert, die Eingabe-Datei, und nicht an das Ende, wo es generiert die ID aus der Datenbank-Sequenz.

Diese syntax gearbeitet hat, bevor Sie mit nicht-null-Spalten sind - warum ist eine null-Spalte verursachen, sqlldr, nicht erreichen, die generierte Spalte?

Ich habe es zu arbeiten, ich will nur verstehen, WARUM!?!

InformationsquelleAutor der Frage orbfish | 2010-10-12

Schreibe einen Kommentar