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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
if errorlevel 0 goto endlevel0
Est-ce que j'utilise les bonnes commandes ?

Merci d'avance de votre aide