Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > Informix
Informix Forum d'entraide Informix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2008, 16h59   #1
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 3
Points : 3
Par défaut code retour d'une instruction dbaccess

Bonjour,

Dans un shell, j'utilise plusieurs instructions dbaccess.
Si une instruction échoue, je souhaiterais que l'exécution du shell se stoppe.

Pour une commande unix simple, la syntaxe if {instruction} else exit n fonctionne mais avec dbaccess, je ne peux pas l'utiliser.

Code :
IF dbaccess nom_base -< ... else exit n
ne fonctionne pas.
Comment sortir de cette commande dbaccess et killer le shell afin que les instructions dbaccess suivantes ne se lancent pas ?

Quelqu'un aurait-il une idée ?

Merci d'avance.
chloro69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 09h38   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 681
Points : 9 681
Bonjour,

Peux-tu nous donner la commande que tu passes à dbaccess ? As-tu essayé de la lancer dans un shell (en dehors de ton script), et de regarder le code de retour (via la commande "echo $?" ) ?
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 16h28   #3
Invité de passage
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 3
Points : 3
Par défaut Merci gangsoleil,

ta question m'a mis la puce à l'oreille...

Je ne connaissais tout simplement pas la variable système $?, mon problème est réglé

Du coup, si un dbaccess s'est bien terminé, je passe au suivant.
Sinon, je kille l'exécution du shell en retournant un code d'erreur (exit n) puis crée un fichier de log pour déterminer d'où provient l'erreur:

Code :
1
2
3
4
5
dbaccess -a - -< $CH_SQL/instruction.sql > $CH_LOG/instruction.out 2>&1
IF [ $? != 0 ]
then
exit n
fi
Merci encore et à bientôt !
chloro69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h06.


 
 
 
 
Partenaires

Hébergement Web