Ich habe dieses Szenario:Dateiname als Parameter in SQL LOADER
In meinem Arbeitsverzeichnis Ich habe einen sh Skript, ctl Datei und Eingabedatei, wenn ich versuche, den Shell-Skript zu starten mit dem Eingangsparameter (filename.txt):
mysh.sh filename.txt
erhalte ich diesen Fehler:
SQL*Loader-500: Unable to open file (filename.txt)
SQL*Loader-553: file not found
SQL*Loader-509: System error: No such file or directory
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
Hinweis: All meine Objekte (Dateien und Verzeichnisse haben 777 Berechtigungen)
Wenn ich den Shell-Skript mit dem vollständigen Pfad zu der Eingabedatei zu starten, funktioniert alles einwandfrei
mysh.sh fullpathtofile/filename.txt
Meine Frage ist, : Warum funktioniert es nicht, wenn ich nur den Dateinamen als Eingabeparameter einfüge?
Teil conent meiner sh-Datei:
!/usr/bin/sh
sqlldr $USER/$PASSWD control=pathtofile data=$1 log=pathtofile bad=pathtofile
[Bearbeiten] Sie Ihre Frage und fügen Sie den Code in 'mysh.sh' –
Ich tat richtig, wie ich oben sagte, es funktioniert gut, wenn ich den vollständigen Pfad der Eingabedatei einfügen. Danke im Voraus. – Frank