IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Placer judicieusement whenever SQL/OSerror


Sujet :

PL/SQL Oracle

  1. #1
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut Placer judicieusement whenever SQL/OSerror
    Bonjour à tous,

    Je cherche à implementer les fonctionnalités whenever sqlerror et oserror. Le problème, c'est que je ne sais pas où les placer pour que ce soit le plus efficace.

    Voici mon process actuel.
    1. J'ai un script shell qui contient le code suivant :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      time sqlplus -s /@$ORACLE_SID << EXIT >> /interface/report/assistance/return_file.log
      start /interface/report/script/D0ST01
      EXIT
    2. Ca appelle donc mon script sql D0ST01 qui contient
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      begin	
         dbms_output.enable(20000000);
         ln_return_code := db_rpt_api_interface.assistance;
         dbms_output.put_line(ln_return_code);
      end;
    3. Et donc ensuite, j'appelle ma fonction assistance qui elle meme appelle tout un tas d'autre fonction.




    Bref, ca me laisse tout un tas de possibilité pour placer ces deux commandes.
    Ce que je pensais, c'est soit les mettres dans mon shell (point 1), soit dans mon 1er scrip sql (point 2)... mais je ne sais pas trop quelle est la difference, et s'il y a des implémentations préconisées. Vous auriez votre idée ?


    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Pourquoi pas juste avant le start, dans le shell script. Vu qu'on peut donner une code d'erreur numérique, autant le mettre au même endroit que là où ce code d'erreur peut être testé.
    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    Ok, donc ca serait le mettre en ce que j'ai appelé (point 1) : dans mon shell, au niveau du start.
    Mais à ce moment là, j'ai une question, le exit, il exit quoi ? Il exit sqlplus ou il exit mon shell ? parce que s'il exit mon shell, c'est pas tellement ce que je veux puisque derriere, faut que je fasse une proc qui envoie un mail en cas d'echec.

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Vu que c'est une instruction sqlplus sa portée ne peut pas aller au delà de sqlplus. Par contre moi je préférais mettre cette instruction dans le script sql lui même. A la limite qui garanti que le script sql n'est (et ne sera) utilisé que par ce script shell ?

  5. #5
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    L'architect solutions, c'est à dire, moi, le garanti. c'est suffisant.
    et surtout, l'avoir dans le script shell me permet de sortir en erreur OS si justement le script SQL n'est pas dispo.
    Donc la solutio de pachot est celle qui me convient.

  6. #6
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par bstevy Voir le message
    L'architect solutions, c'est à dire, moi, le garanti. c'est suffisant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Où placer les requêtes SQL (sans utiliser d'ORM)
    Par xhion dans le forum Symfony
    Réponses: 6
    Dernier message: 20/12/2012, 09h51
  2. Où placer les sources SQL
    Par seabs dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/03/2012, 17h54
  3. Où placer une requête SQL?
    Par Rodrigue dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/11/2008, 11h38
  4. Réponses: 5
    Dernier message: 09/07/2008, 17h04
  5. [SQL] Placer deux clauses dans un ORDER BY
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 30/05/2006, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo