Hello,
Est-ce que quelqu'un sait comment récupérer le code retour d'un script sql oracle sorti en erreur.
exemple en c-shell, je voudrais connaitre le $status d'un sqlplus qui sortirait en erreur ORA***.
D'avance merci,
Vincent
 code retour UNIX sur erreur ORA
 code retour UNIX sur erreur ORA
				
				
						
						
				Hello,
Est-ce que quelqu'un sait comment récupérer le code retour d'un script sql oracle sorti en erreur.
exemple en c-shell, je voudrais connaitre le $status d'un sqlplus qui sortirait en erreur ORA***.
D'avance merci,
Vincent
 
 
				
				
						
						
				Dans le script SQL, il faut prévoir un
et récupérer le code erreur dans une variable shell
Code : Sélectionner tout - Visualiser dans une fenêtre à part whenever sqlerror exit sql.sqlcode rollback
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part integer ERROR_CODE=$?
 
 
				
				
						
						
				merci pour la réponse...
en fait, ce qui m'interesserait, c'est d'avoir la liste des valeurs que peut prendre ce "ERROR_CODE". et si possible, sans chercher à la main toutes les valeurs que je peux obtenir (je me vois mal réussir à générer toutes les erreurs Oracle possibles...) ;o)
re- d'avance merci
vincent
 
 
				
				
						
						
				bah ERROR_CODE peut prendre toutes les valeurs possibles dans Oracle... c'est le code d'erreur qui est joint aux messages...
Qu'est ce que tu cherches exactement ?
 
 
				
				
						
						
				ok, voila le test que je fais, par exemple... (en c-shell)
et voila le retour que j'ai dans ma console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
moi, ce que je cherche, c'est une liste des valeurs que peut prendre ma variable code_ret.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
je gère des warnings à côté et je voudrais pas que mon traitement continue si une erreur Oracle survient. je voudrais donc utiliser comme code de sortie pour mes warnings des nombres qui ne sont pas utilisés par Oracle... et je ne mets pas la main sur une liste de ces valeurs.
suis-je plus clair ?
merci,
vincent
 
 
				
				
						
						
				Le probleme vient de l'exit CODE
le shell ne recupere une erreur que sur 1 octet soit 256 valeures Possibles
tu remarquera que 942 modulo 256 = 174 (CQFD)
 Re: code retour UNIX sur erreur ORA
 Re: code retour UNIX sur erreur ORA
				
				
						
						
				Personellement je fait sytématiquement ceci :Envoyé par vinz_07
Whenever SQLERROR EXIT FAILURE ROLLBACK;
et je teste le code retour != 0 pour savoir si c'est OK ou KO
Après si c'est KO : rien ne t'empeche de faire un truc qui analyse la log de ta requete avec un grep "ORA-" par exemple
Partager