Oracle Sql-Loader-option skip für mehrere infiles
Bei der Verwendung von SQL Loader control-Datei wie folgt:
OPTIONS(**skip=1**,bindsize=1048576,rows=1024)
LOAD DATA
INFILE 'C:\Documents and Settings\FIRST.CSV'
INFILE 'C:\Documents and Settings\SECOND.CSV'
APPEND
INTO TABLE table_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(
fields
)
überspringt die Kopfzeile für die ERSTE.CSV-Datei, aber es lädt die header-Zeile von der ZWEITEN.CSV in Oracle-Tabelle. Meine Lösung ist, diese zu brechen-Steuerelement-Datei in zwei separate Dateien. Jede Art und Weise zu erfüllen, die mit einer Kontroll-Datei?
InformationsquelleAutor reforrer | 2011-06-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie tun, mit einer control-Datei, aber es würde noch erfordern, dass Sie laufen sqlldr zweimal:
Kontrolle Datei:
Und führen Sie dann sqlldr wie diese:
Weitere Möglichkeit, die sich mir gerade ist, dass Sie möglicherweise in der Lage sein zu überprüfen, wird ein Datensatz mit einer WHEN-Klausel:
Wenn Ihr header enthält immer fester text, Sie konnte es überspringen basierend auf dem Inhalt von einem der Felder. Mit WENN kann haben einen Einfluss auf die Leistung, obwohl - je nach Größe der Dateien, die Sie vielleicht besser mit zwei Aufrufe sqlldr.
InformationsquelleAutor Martin Schapendonk