Doppelte Anführungszeichen in der in der geladenen Daten über SQL loader
Ich habe ein problem mit den Daten geladen, um Oracle-Tabellen durch SQL-Loader.
Das problem ist, dass die doppelten Anführungszeichen ist immer eingeschlossen werden, um den Wert eingefügt.
Beispiel:
"917681904 "
"914481475 "
"935848150 "
Ist das problem mit dem CHAR-Felder, vor allem mit der CO_COMERCIAL_SERV.
Sollte es eingefügt werden, ohne die Anführungszeichen. Ich habe keine Ahnung, von wo diese doppelte Anführungszeichen werden Hinzugefügt bekommen. 🙁
Die control-Datei, die ich zuvor verwendet wird :
OPTIONS (SKIP = 1)
LOAD DATA CHARACTERSET WE8ISO8859P1
APPEND
PRESERVE BLANKS
INTO TABLE "TAB_SAVITHA"
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
(
"NU_SECUE_PSCO",
"CO_CLIENT_COM",
"CO_PRSE",
"CO_COMERCIAL_SERV",
"CO_PROVINCIA_INST",
"NU_DURA_ANOS",
"IN_LINEA"
)
Später, startete ich durch doppelte Anführungszeichen um den Namen der Spalten und gab Sie als unten. Aber immer noch das gleiche Problem.
OPTIONS (SKIP = 1)
LOAD DATA CHARACTERSET WE8ISO8859P1
APPEND
PRESERVE BLANKS
INTO TABLE "TAB_SAVITHA"
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
(
NU_SECUE_PSCO,
CO_CLIENT_COM,
CO_PRSE,
CO_COMERCIAL_SERV,
CO_PROVINCIA_INST,
NU_DURA_ANOS,
IN_LINEA
)
Das shell-Skript zum laden der Daten verwendet wird, wie unten::
cat<<EOD >PBPS.sql
set linesize 800
set pagesize 3000
set heading off
set feed off
select NU_SECUE_PSCO||'|'||CO_CLIENT_COM||'|'||CO_PRSE||'|'||CO_COMERCIAL_SERV||'|'||CO_PROVINCIA_INST||'|'||NU_DURA_ANOS||'|'||IN_LINEA||'|' FROM PBPS_BKP WHERE HITO =$vpin;
exit
EOD
sqlplus -s $1/$2@$3 @PBPS.sql > PBPS.dat
sqlldr $1/$2@$3 control='./sqlloader/Main.ctl'
rm -f PBPS.sql
Ich bin im bad, die Hilfe brauchen.
Jede Hilfe wird sehr geschätzt.
Dank,
Savitha
InformationsquelleAutor Savitha | 2011-11-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen, diese und sehen, ob es funktioniert.
Nein, das hat nicht funktioniert. Tatsächlich, die ursprünglichen Daten aus, wo ich bin-picking die Daten nicht doppelte Anführungszeichen. Seine erste angehängt dazwischen. Auch die Daten-Datei an die er schreibt(PBPS.dat) wird es nicht angezeigt.
InformationsquelleAutor Zohaib
Ich hab das gleiche problem.
Nach der Untersuchung, fand ich heraus, dass dieses Problem tatsächlich durch Besondere Zeichen in der Zeichenfolge.
Ersetzen Sie zuerst Raum dann nur, dass der Besondere Charakter bleibt.
Ich bin mir nicht sicher, wie diese Figur kommt in einer string-aber Sie können kopieren, dass der Charakter von sqldeveloper etc und verwenden, das Zeichen-ersetzen-Funktion zu entfernen, damit von Ihnen Spalten der Tabelle.
InformationsquelleAutor Tarun
Hatte ich das gleiche Problem. Es wurde aufgrund von Datei-text-Konvertierung von Windows zu Linux auf meine input-Datei.
Ausführen der folgenden Befehl das Problem gelöst:
InformationsquelleAutor Rony