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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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??
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
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
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
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à.
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
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
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
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à.