Bonjour,

je souhaiterais lancer du code pl/sql à partir d'un shell. J'ai donc créé un fichier .sh dont voici le contenu

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
CONNECT_STRING="user/password@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=bdd)(PORT=1521)))(CONNECT_DATA=(SID=monsid)))"
export ORACLE_HOME="/usr/local/OraHome"
 
date
 
${ORACLE_HOME}/bin/sqlplus $CONNECT_STRING
 
SET serveroutput ON
SET head off
SET feed off
declare
begin
 inscription.traitement_confirmation_web;
end;
/
EOF
exit
 
date
Lorsque j'essaie de lancer mon .sh de la sorte,
La connexion a bien lieu cependant le code sql n'est pas exécuté et mon shell passe en mode sql (sql>)
Je tape donc exit et là mon code est exécuté
et j'ai à l'écran ses messages d'erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Déconnecté de Oracle8i Enterprise Edition Release 8.1.7.4.1 - Production
With the Partitioning option
JServer Release 8.1.7.4.1 - Production
monfichier.sh: line 11: SET: command not found
monfichier.sh: line 12: SET: command not found
monfichier.sh: line 13: SET: command not found
Je pense que le code pl/sql est interprété après et c'est pour cela que je reçois ses messages.

Ma question est quelqu'un saurait-il comment je dois m'y prendre afin que ma procédure soit exécutéé?

Merci