Ich versuche, Oracle-Datenbank auf einem Server gehostet zu verbinden hier ist mein SkriptWarum funktioniert diese sqlplus-Verbindungszeichenfolge nicht in bash?
#!/bin/bash
RAW=`cat sqlTemp.sql`
IFS=";"
exit=" exit;"
for var in $RAW
do
query=$(echo $var | sed '/^$/d')
sqlplus64 username/[email protected]:portnumber/servicename $query 2>> errorLog.txt
ERRORCODE=$?
if [ $ERRORCODE != 0 ]
then
echo "$ERRORCODE" >> "errorLog.txt"
echo "this query has error- check the log file for detail"
else
echo "SUCCESS"
fi
done
Wenn i-Verbindungszeichenfolge ersetzen durch
sqlplus64 -S username/[email protected]:portnumber/servicename <<ENDOFSQL
whenever sqlerror exit sql.sqlcode;
$query
exit;
ENDOFSQL
das Skript zu arbeiten.
Was ist falsch mit der vorherigen Verbindungszeichenfolge und wie wird es korrigiert?
Was bedeutet die Option '-S' für sqlplus64? – choroba
@choroba -S hilft bei der Sperrung (Stille) der Verbindungsdetails. – realName