Bonjour,

Je ne sais pas trop si je m'adresse au bon endroit, mais je tente ma chance.

J'ai un "petit" problème d'exécution d'un package Oracle via une procédure PL/SQL lancée sous UNIX.

Voila ce que je lance

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
echo "set serveroutput on;" > $SQL
echo "set linesize 255;" >> $SQL
echo "set echo off; " >> $SQL
echo "set termout on;" >> $SQL
echo "spool $SPOOL;"  >> $SQL
echo "declare" >> $SQL
echo "VRESULT VARCHAR2(200);" >> $SQL
echo "NIDJETON NUMBER;" >> $SQL
echo "begin" >> $SQL
echo "PACKAGE.LANCEMENT($PARAM1,'$PARAM2',VRESULT,NIDJETON);"  >> $SQL
echo "dbms_output.ENABLE(10000);" >> $SQL
echo "dbms_output.put_line('Jeton :' || NIDJETON);" >> $SQL
echo "End ;" >> $SQL
echo "/" >> $SQL
echo "spool off;" >> $SQL
echo "quit;"  >> $SQL
 
sqlplus USER/PWD @$SQL
Le package appelé tourne bien, mais le traitement detecte les enregistrements à traiter en anomalie.

Le pb est que lorsque j' exécute cette même procédure sous SQL +, en la tapant ligne par ligne, elle marche correctement (idem en l'executant via TOAD)

Du coup je ne vois pas trop d'où viens l'erreur, sachant que d'autres shell UNIX lancent du PLSQL sans pb et sur la même BDD.

Merci à vous pour votre aide !