Wie wirklich überspringen Sie die Verarbeitung einer Spalte?

Um die Daten zu laden (aus einer CSV-Datei) in eine Oracle-Datenbank, die ich verwenden mit SQL*Loader.

In der Tabelle, empfängt diese Daten, es ist ein varchar2(500) Spalte, genannt COMMENTS.
Für einige Gründe, ich will ignorieren Sie diese Informationen aus der CSV-Datei.
So, ich schrieb das control-file:

Options (BindSize=10000000,Readsize=10000000,Rows=5000,Errors=100)
  Load Data
  Infile 'XXX.txt'
  Append into table T_XXX
  Fields Terminated By ';'
  TRAILING NULLCOLS
(
    ...
    COMMENTS FILLER,
    ...
)

Dieser code scheint korrekt zu funktionieren, wie die COMMENTS Feld in der Datenbank ist immer auf null.

Jedoch, wenn in meiner CSV-Datei habe ich einen Datensatz, in dem die entsprechenden COMMENTS Feld überschreitet die 500-Zeichen-Begrenzung, bekomme ich eine Fehlermeldung vom SQL*Loader:

Record 2: Rejected - Error on table T_XXX, column COMMENTS.
Field in data file exceeds maximum length

Gibt es eine Möglichkeit, wirklich dem Ausschluss der Verarbeitung meiner COMMENTS Felder?

InformationsquelleAutor Romain Linsolas | 2009-06-11

Schreibe einen Kommentar