SQL*Loader-522: lfiopn ist fehlgeschlagen für die Datei

Ich bin immer folgende Fehlermeldung in meinem Skript, welches ausgeführt wird, eine SQLLDR :

SQL*Loader-522: lfiopn failed for file (/home/abc/test_loader/load/badfiles/TBLLOAD20150520.bad)

Soweit meine Kenntnisse dies ist der Fehler, bezogen auf die Erlaubnis,aber ich Frage mich, in den Ordner "/laden" gibt es keine "badfiles" Ordner vorhanden .ich habe schon definieren badfiles-Ordner außerhalb der laden-Ordner,aber warum in der Fehlermeldung ist es unter dieser location ?
ist es wie meine input-Datei mit einigen problem und SQLLDR versuchen, um eine bad-Datei in der Erwähnung Standort ?

unten ist die SQLLDR Befehl :

$SQLLDR $LOADER_USER/$USER_PWD@$LOADER_HOSTNAME control=$CTLFDIR/CTL_FILE.ctl BAD=$BADFDIR/$BADFILE$TABLE_NAME ERRORS=
0 DIRECT=TRUE PARALLEL=TRUE LOG=$LOGDIR/$TABLE_NAME$LOGFILE &

unten ist die control-Datei temp :

LOAD DATA
INFILE '/home/abc/test_loader/load/FILENAME_20150417_001.csv' "STR '\n'"
APPEND   
INTO TABLE STAGING.TAB_NAME
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(
  COBDATE,
--
--
--
  FUTUSE30 TERMINATED BY WHITESPACE
)  
Was ist der Befehl, den Sie verwenden zum ausführen von SQL*Loader, und was macht Ihr control-Datei enthalten? (Fügen Sie bitte als edit zu der Frage, nicht als Kommentar!). Ich nehme an, du hast relative Pfade zu verwenden.
versuchen, führen Sie das loader mit strace strace -f -e trace=file sqllder .... Und Sie wird die Interaktion mit dem Dateisystem.
Was sind die Werte von $BADFDIR, $DEFEKTEDATEI und $TABLE_NAME? Wenn Sie zusammen nicht für einen vollständigen Pfad, wo Sie Ihr Skript aus? Ich hoffe, es wird offensichtlich werden, was passiert, wenn Sie sehen, dass diese Werte und wie Sie sich auf, wo er versucht, die Datei zu erzeugen.
Alle $BADFDIR ,$DEFEKTEDATEI und $TABLE_NAME sind die Pfad-und Tabellennamen, die ich definieren, in einer config-Datei und ich schon, beziehen sich diese Weg,aber nicht, wo ich erwähnt das Weg ist kommen die FEHLER,auch den Pfad (ORDNER-NAME) in der Fehlermeldung wird nirgends gibt es in der Datei-Verzeichnis . Ich bin nicht in der Lage zu verstehen, Woher dieser Pfad kommt, der Fehler??? @AlexPoole
Ich verstehe, was die Variablen bedeuten; Sie haben nicht gesagt, was Werte die Variablen haben, wenn das Skript ausgeführt und erzeugt Fehler. Oder in welchem Verzeichnis man das Skript ausführen aus. Wenn $BADFDIR ist nur badfiles' then it's using a relative path, and if you run the script from the laden` - Verzeichnis (oder das Skript ändert, um zu, dass) Sie würde es werden, bezogen auf die, die Ihnen wäre die .../load/badfiles vollständigen Pfad. Aber ich habe zu erraten, denn Sie haben nicht die tatsächlichen Werte in der Frage.

InformationsquelleAutor sabya | 2015-05-20

Schreibe einen Kommentar