KSH - SQL plus : : Not Found

Fermé
glwadys - 29 déc. 2005 à 11:33
 roger - 29 déc. 2005 à 12:37
Bonjour à tous

Je suis nouvelle en programmation shell et j'ai un problème incompréhensible pour moi.
Voilà, je programme sous ksh et j'aimerai exécuter un script SQL sur une bas ORACLE 8.1.7 (je ne peux pas utiliser du PL/SQL).
Mon scipt ressemble à ceci:
`sqlplus -s /nolog << EOF
connect ${SC_ALIAS_LOGIN}/${SC_ALIAS_PWD}@${DB_BASE}
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET COLSEP ';'
${cmd}
exit
EOF` | tr -d " " > ${REP}/${DB_USER}.${table}${Ver_Chg}.lst

lorsque je l'exécute, j'ai l'erreur SQL*Plus:: not found

Et pourtant, si je modifie le script ainsi
`sqlplus -s /nolog << EOF > ${REP}/${DB_USER}.${table}${Ver_Chg}.lst
connect ${SC_ALIAS_LOGIN}/${SC_ALIAS_PWD}@${DB_BASE}
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET COLSEP ';'
${cmd}
exit
EOF`

Là il s'exécute et j'ai des résultats.

Je ne peux utiliser cette deuxième solution car j'ai beaucoup d'espace dans certaine tables et elle dépasse 2Go, ce qui fait planter mon script.

J'ai vérifié le PATH et le ORACLE_HOME et j'ai testé le chargement de l'environnement ORACLE dans mon script avec les instructions
export PATH=$PATHusr/bin/X11usr/local/bin
umask=022
export ORACLE_SID=${1}
export ORAENV_ASK=NO
. oraenv

mais le comportement est toujours aussi bizarre
Je suis preneuse pour toute piste qui m'aiderai à avancer.

Merci

1 réponse

`sqlplus -s /nolog << EOF | tr -d " " > ${REP}/${DB_USER}.${table}${Ver_Chg}.lst
connect ${SC_ALIAS_LOGIN}/${SC_ALIAS_PWD}@${DB_BASE}
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET COLSEP ';'
${cmd}
exit
EOF` 
1