SQL*Loader-522: lfiopn échec pour le fichier

Je suis en dessous de l'erreur dans mon script qui exécute une SQLLDR :

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

Autant ma connaissance, c'est l'erreur liée à l'autorisation,mais je me demande dans le dossier "/charge" il n'y a pas de "badfiles" dossier présent .j'ai déjà définir un dossier badfiles en dehors de la charge de dossier,mais pourquoi dans l'erreur c'est de prendre cette position ?
il est comme mon fichier d'entrée avoir un problème et SQLLDR en essayant de créer un mauvais fichier dans la mention de l'endroit ?

ci-dessous est la SQLLDR commande :

$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 &

ci-dessous le fichier de contrôle de température :

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
)  
  • Quelle est la commande que vous utilisez pour exécuter SQL*Loader, et ce n'votre fichier de contrôle contiennent? (Veuillez ajouter comme une modification à la question, non pas comme un commentaire!). J'imagine que vous utilisez des chemins relatifs.
  • essayez d'exécuter le chargeur à l'aide de strace strace -f -e trace=file sqllder .... Et vous comment il interagit avec le système de fichiers.
  • Quelles sont les valeurs de $BADFDIR, $FICHIERDÉFECTUEUX et $NOM_TABLE? Si l'ensemble n'est pas un chemin d'accès complet, où en êtes-vous de l'exécution de votre script à partir de? J'espère que cela va devenir évident que ce qui se passe quand vous voyez ces valeurs et comment ils se rapportent à l'endroit où il tente de créer le fichier.
  • Tous les $BADFDIR ,$FICHIERDÉFECTUEUX et $NOM_TABLE sont le chemin d'accès et le nom de la table que je définis dans un fichier de config, et j'ai déjà concernent ceux chemin,mais pas où je mentionne le chemin, qui est entrée dans l'ERREUR,même le chemin d'accès (NOM du DOSSIER) dans le message d'erreur est nulle part existe pas dans le répertoire du fichier . Je ne suis pas en mesure de comprendre d'où ce chemin en venant dans l'erreur ? @AlexPoole
  • Je comprends ce que les variables représentent; vous n'avez pas dit ce que les valeurs de ces variables lorsque le script est exécuté et produit l'erreur. Ou le répertoire que vous exécutez le script de. Si $BADFDIR est juste badfiles' then it's using a relative path, and if you run the script from the charge répertoire (ou le script change à cela), ils, il serait par rapport à cela, ce qui vous donnerait le .../load/badfiles chemin d'accès complet. Mais je vais avoir à deviner parce que vous n'avez pas donné les valeurs réelles dans la question.
InformationsquelleAutor sabya | 2015-05-20