Ich versuche, ein HOST-Skript ausführen, die ich in KSH-Shell mit einem Oracle Concurrent-Programm erstellt habe.Problem beim Ausführen von UNIX-Shell-Skript von Oracle gleichzeitig Programm
My Test-Script ist wie folgt:
echo "System Parameters passed by Concurrent Manager"
echo "+--------------------------------------------+"
XXWIN_PROGRAM=$0
XXWIN_LOGIN=$1
XXWIN_USERID=$2
XXWIN_USERNAME=$3
XXWIN_REQUEST_ID=$4
echo "XXWIN_PROGRAM :"$XXWIN_PROGRAM
echo "XXWIN_LOGIN :"$XXWIN_LOGIN
echo "XXWIN_USERID :"$XXWIN_USERID
echo "XXWIN_USERNAME :"$XXWIN_USERNAME
echo "XXWIN_REQUEST_ID :"$XXWIN_REQUEST_ID
shift 4
echo ""
echo "User Parameters passed by Concurrent Manager"
echo "+------------------------------------------+"
echo "1 :"$1
echo "2 :"$2
echo "3 :"$3
echo "4 :"$4
echo "5 :"$5
echo "6 :"$6
echo "7 :"$7
echo "8 :"$8
echo "9 :"$9
echo ""
# Generic Script Begins
# Declaring Constants, Data File Path, Control File Path etc
CTL_FILE_NAME=$1 # Control File Name(s)
CTL_FILE_PATH=$2 # Control File Path
DATA_FILE_NAME=$3 # Data File Name(s)
DATA_FILE_PATH=$4 # Data File Path
COMPONENT_NAME=$5 # Interface Component Name
SEQ_VALIDATION=$6 # Sequence Name
SUPPORT_EMAIL= $7 # Support e-mail(s) List
# Printing the User Parameters
echo "1 :"$CTL_FILE_NAME
echo "2 :"$CTL_FILE_PATH
echo "3 :"$DATA_FILE_NAME
echo "4 :"$DATA_FILE_PATH
echo "5 :"$COMPONENT_NAME
echo "6 :"$SEQ_VALIDATION
echo "7 :"$SUPPORT_EMAIL
# Assigning the Archive, IN and Prog Dir Paths
ARCHIVE_DIR="$XXWIN_TOP/bin/TEMP/archive"
XXWIN_IN_DIR="$XXWIN_TOP/bin/TEMP/in"
XXWIN_PROG_DIR="$XXWIN_TOP"
# Printing the directories
echo "Archive Directory :" $ARCHIVE_DIR
echo "IN Directory :" $XXWIN_IN_DIR
echo "Program Directory :" $XXWIN_PROG_DIR
i=10
k=5
j=`expr $i + $k`
echo $j
echo $i
echo "Out of Concurrent Program"
Shell Script Programmname endet mit ".prog"
Ich bin die gleichzeitige Anforderung mit den folgenden Parametern ausgeführt:
Die Das Programm ist normal, aber ich erhalte die folgenden Protokollnachrichten.
Wenn ich #!/usr/bin/ksh
bin mit dem Programm in Fehler beendet wird, damit ich die Host-Datei leite, dass mit aus. Aus dem Protokoll wird klar, dass, wenn im Skript ein Leerzeichen gefunden wird, ein Fehler ausgegeben wird, der sagt "Command not found". Auch wie du sehen kannst, mache ich eine einfache Ergänzung, selbst das wird auch nicht erkannt.
Jede Hilfe in dieser Hinsicht wird sehr geschätzt.
Thanks :)
Ich verwende Notepad ++ als Editor und nicht als Notepad. Ich habe 500 Zeilen Code entwickelt und läuft perfekt von der Unix-Box. Aber ich kann es nicht von Oracle-Anwendung ausführen :(. – Arun