Bonjour,
Pour un souci de gestion d'ordonnanceur, je suis amené à attribuer un temps max d'exécution à différentes requêtes.
Mes requêtes son lancées via un fichier .bat.

Fichier .bat
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 execution de la requête quantitative
echo %Date% - %time% :   execution de la requête >> fichier.log
 
sqlplus -S %USER%/%PSW%@%TNS% @mReq.sql > %my_Path%\Res.txt
if ERRORLEVEL 1 goto FIN 
 
sqlplus -S %USER%/%PSW%@%TNS% @mReq2.sql > %my_Path%\Res2.txt
if ERRORLEVEL 1 goto FIN 
...
sqlplus -S %USER%/%PSW%@%TNS% @mReq3.sql > %my_Path%\Res3.txt
if ERRORLEVEL 1 goto FIN 
 
exit %ErrorLevel%
 
:FIN
echo %Date% - %time% : Error Level : %ErrorLevel% >> fichier.log
exit %ErrorLevel%
goto :EOF
Tous les fichiers .sql ressemblent à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
set lines 400
set head off
SET feedback off
SET NEWPAGE none;
set echo off;
set feed off;
 
Whenever sqlerror Exit Failure 
WHENEVER SQLERROR EXIT SQL.SQLCODE; 
 
select champ1, champ2, ... rom maTable;
 
exit;
Je souhaiterais sortir du fichier si une des requêtes dure plus d'un certains temps défini.

Des idées ?


Merci