Script shell

Fermé
dejuly - 29 oct. 2002 à 08:38
 lediz - 30 oct. 2002 à 15:30
Je fais un sqlplus login/password@base depuis un script shell. Le login n'etaant pas bon ou la base n'existant pas, j'aimerais pouvoir recuperer une erreur dans mon script shell et y continuer d'autres traitements.

Quelqu'un pourrait il m'aider ?
A voir également:

2 réponses

Kuching Messages postés 2702 Date d'inscription jeudi 30 mai 2002 Statut Contributeur Dernière intervention 26 décembre 2007 157
29 oct. 2002 à 11:31
Salut,

Pourrais tu etre plus clair?
Comment le login/mdp/base pourrait etre faux si tu l'implementes directement ds ton code??

A+
K.
0
Supposons que le login est faux ou mal ecrit. On a donc une erreur que j'aimerais recuperer dans mon shell et gerer
0
En testant par exemple le résultat d'un "tnsping" au préalable :

fichier "z" = le script unix
fichier "z.sql" = le script SQL
fichier "z.out" = fichier résultat : du tnsping ou du select SQL

Description du fonctionnement du script "z" :
---------------------------------------------------
- Redirige un tsnping sur le service en question dans un fichier.
- Ensuite fait un "grep" sur son contenu ( OK et msec....)
- Et c'est ainsi que l'on sait si le service est accessible
- Si oui : connection et exécution d'un script.....etc........

---------------------------------------------------
Contenu du script : z
---------------------------------------------------
service=mon_service
user=mon_user_name
pwd=mon_user_password
f_sql=z.sql
f_out=z.out

tnsping $service > $f_out
grep 'OK' $f_out | grep 'msec' $f_out | wc -l | read my_nbr
if [ "$my_nbr" != "1" ]
then vi $f_out
else sqlplus -S $user/$pwd@$service @$f_sql > $f_out ; vi $f_out
fi
-------------------------
script : z.sql ( mon exemple)
-------------------------
select sysdate from dual;
exit;
0