Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

arret script sur erreur oracle

1 réponse
Avatar
softmax
Salut,
Voila mon pb

G un script SH qui lance une connection SQL et une requete, mais
lorsque la requete se plante mon script execute quand meme ce qui suit
malgres que la requete soit planté.

Auriez vous une tites solution pour le stopper?(car ca me fais
reprendre tout a la main est c galère).

j aimerais qu il stop quand y a un message oracle mais je vois po trop
bien comment tourner la chose.

Marki a vous

1 réponse

Avatar
Michaël Bascou
Salut,

Déjà, juste un détail : partout tu spécifies un fichier de log qui est
visiblement le même à chaque fois, tu devrais initialiser une fois en début de
script le chemin complet du fichier. Parce que le jour où le fichier changera de
place, tu vas surement oublier de modifier un chemin. Bref, c'était une
parenthèse ;)

Pour en revenir à ton pb initial, tu devrait rajouter en début de chaque script
SQL, la commande : "whenever sqlerror exit 1"

Et après chaque appel de la commande sqlplus, tu devrais rajouter un test de
retour d'erreurs, par exmeple :

opt/app/oracle/product/9.0.1/bin/sqlplus dataw/*****@*****@upd_ref_procdate.sql
Status=$?
if [ $Status -ne 0 ]
then
exit $Status
fi

Comme ça, ton script sortira dès la première mauvaise exécution de la commande
sqlplus.

Cdt,
Michaël


Le 09.07.2003 13:10, Softmax a écrit :
Marki de ton aide.
BOn j ais été voir, mais j ais surement du mal poser ma question

en fait voila mon script

echo "================================================="

/process/Echange/*****/Log/dwh_import_$FILEDATE.log





echo "=" >>/process/Echange/*****/Log/dwh_import_$FILEDATE.log
echo "Lancement de l'import des données de Settler vers Srvdwh"

/process/Echange/*****/Log/dwh_import_$FILEDATE.log





echo "=" >>/process/Echange/*****/Log/dwh_import_$FILEDATE.log
# Lancement de l'import en base
/opt/app/oracle/product/9.0.1/bin/sqlplus dataw/*****@d****
@import_view_dwh.sql

/process/Echange/*****/Log/dwh_import_$FILEDATE.log






echo "================================================="

/process/Echange/*****/Log/dwh_import_$FILEDATE.log





echo "=" >>/process/Echange/*****/Log/dwh_import_$FILEDATE.log
echo "Mise a jour de la procdate sur Srvdwh"

/process/Echange/*****/Log/dwh_import_$FILEDATE.log





echo "=" >>/process/Echange/*****/Log/dwh_import_$FILEDATE.log
# Mise a jour de la procdate
/opt/app/oracle/product/9.0.1/bin/sqlplus dataw/*****@*****
@upd_ref_procdate.sql

/process/Echange/*****/Log/dwh_import_$FILEDATE.log






Ca dois surement po etre le top de prog mais bon. en fait lors de l'
"import_view_dwh.sql ", parfois il me fini po le sql pour une raison
ORA. Ce que je voudrais c qu il n enchaine po sur la suite du shell
mais qu il stop là.

ai je mal compris le liens que tu ma données??