2009-06-24 10 views
0

FIRST: Ja, ich weiß über CONCATENATE und CONTINUEIF, aber ich bin vielleicht nicht schlau genug, um die Dokumentation zu verstehen. Ich verstehe nicht, wie sie mein Problem lösen. Vielen Dank ...Wie sollte ich Zitate und Zeilenumbrüche für den Import von Oracle SQLLoader (sqlldr) umgehen?

Ich bin in der Lage, erstellen eine Datei für den Import in eine Oracle DB über sqlldr.

Die Spalten müssen durch "~" abgegrenzt werden (Fragen Sie nicht.) Beim Erstellen der Datei habe ich einige Bedenken bezüglich der Art und Weise, wie sich sqlldr in Bezug auf Zitate und Zeilenumbrüche verhält.

Wenn eine einfache Zeile die Spaltenwerte enthalten:

One, Hello~World I "Like" you, and Three 

Wie soll ich Ausgabe dieses in die Datei? Meine erste Vermutung ist

One~"Hello~World I "Like" you"~Three 

Ich stelle mir vor, es wäre leicht mit FIELDS importieren TERMINATED BY „~“ OPTIONALLY ENCLOSED BY ‚"‘angegeben in der CTL-Datei. Was ich weiß nicht, wie zu handhaben sind die Zitate um das Wie, wenn erstelle ich die Datei jene zusätzlich entwertet werden sollten Wie

Zusätzliche Bonus-Frage:.?. die Felder können Linie Bremsen enthalten Wenn ausgeschrieben „raw“ es würde sich in

one~Line 
Break~three 

Gibt es eine Option in der CTL-Datei, die ich kann man diese wieder zusammennähen? Die Unterbrechung kann in verschiedenen Spalten auftreten und es kann mehrere Unterbrechungen pro Datensatz oder Spalte geben.

Vielen Dank im Voraus!

Antwort

1

Nach einigen Experimenten ist es das, was ich entdeckt:

Während Anführungszeichen und Trennzeichen verwenden

FIELDS TERMINATED BY "~" OPTIONALLY ENCLOSED BY '"' 

in der CTL-Datei und eine Tabellenstruktur von

key:number, msg:varchar2 

Der richtige Weg zu handhaben sind

1~Hello World 
2~"Hello~World" 
3~"Hello ""World""" 
4~"Hello~""World""" 

Wenn also die Daten das Trennzeichen enthalten, zitieren Sie den gesamten Wert und ersetzen Sie die Anführungszeichen im Wert durch 2 Anführungszeichen.

Soweit Zeilenschaltungen gehen, werde ich das in einer anderen Frage fragen.

Verwandte Themen