Zum ersten Mal sqlldr verwenden, einfach eine Datei mit einzelnen Spalt zu laden versuchen, und kann nicht eine richtige Art und Weise finden, es zu tun :( Was mache ich als Trennzeichen setzen?sqlldr Ladedatei mit einzelner Spalte
Hier ist mein .ctl Datei:
load data
infile 'myfile.dat'
into table mytable
fields terminated by ''
(mycolumn)
ich halte Fehler in der .log wie immer:
Record 4: Rejected - Error on table ..., column ....
ORA-12899: value too large for column "... (actual: 80, maximum: 24)
Auch wenn die Werte in der Datei sind maximal 8 Zeichen jeweils oder smth: string1 string2 string3
Jede Hilfe wird sehr geschätzt.
Vielen Dank, G
Dank Gary, aber mit Ihrer Lösung nur ich 1 Zeichen für jeden Wert eingefügt .. Die Quelle Spalte ist VARCHAR2 (24). Die Datei wird gespult wie: 'SET echo off SET Feedback aus SET Begriff aus SET Seitengrße 0 SET newpage 0 SET Raum 0 Spule myfile.dat distinct (mycolumn) wählen aus mytable; ' ' ' Anschließend wird die Zieltabelle vor dem Laden der Spooldatei wie folgt erstellt:' create table mytable (MeineSpalte VARCHAR2 (24)); 'aber ich bekomme immer noch 1 Char aus der Datei .. – GeorgeK
eigentlich war das Problem In der Spooldatei befand sich der Zeilenvorschub weit rechts von jeder Zeile. Es funktionierte, wenn Sie 'set trimspool on' in das Spooling einfügen sql – GeorgeK
Sie könnten die Steuerdatei auch ändern in: 'MeinSpalten-Zeichen 'trim (: mycolumn)" ' –