[commande DOS] Récupérer le code retour d'un programme
Bonjour,
je souhaiterai récupérer le code retour renvoyé par un application, en l'occurence SQLplus d'ORACLE.
mon batch nommé 'test.bat' se présente comme suit
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
:begin
echo off
sqlplus -s user/pass@DB @test.sql
if errorlevel 0 goto endlevel0
if errorlevel 1 goto endlevel1
if errorlevel 2 goto endlevel2
if errorlevel 3 goto endlevel3
:endlevel1
echo erreur level 1
goto :EOF
:endlevel2
echo erreur level 2
goto :EOF
:endlevel3
echo erreur level 3
goto :EOF
:endlevel0
echo erreur level 0
goto :EOF |
Mon fichier sql, lui est tout simple
Code:
1 2 3 4 5 6 7 8 9
|
WHENEVER SQLERROR EXIT SQL.SQLCODE;
WHENEVER OSERROR EXIT;
select * from toto where ncntnum = 'XX';
insert into toto(1,2);
exit |
Donc je génère une erreur car la table toto n'existe pas, donc je devrais avoir un code retour correspondant à l'erreur sql.
Quand j'exécute mon fichier bat, je me trouve toujours dans le bloc
Citation:
if errorlevel 0 goto endlevel0
Est-ce que j'utilise les bonnes commandes ?
Merci d'avance de votre aide