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 :

"Gestion des exceptions" dans SQL PLUS


Sujet :

PL/SQL Oracle

  1. #1
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 103
    Points : 224
    Points
    224
    Par défaut "Gestion des exceptions" dans SQL PLUS
    Bonjour,

    Je fais appel à un script SQL au sein d'un script écrit en Shell, et selon l'endroit où l'erreur est rencontrée, j'aimerais retourner un message d'erreur variable. Schématiquement :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    --script.sql
     
    BEGIN
    -- En cas d'erreur, retourner "Erreur pendant la requête 1" et sortir
    select col1 from tab1 where condition1
    -- En cas d'erreur, retourner "Erreur pendant la requête 2" et sortir
    select col2 from tab2 where condition2
    -- En cas d'erreur, retourner "Erreur pendant la requête 3" et sortir
    select col3 from tab3 where condition3
    END;
    /
    EXIT;

    Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #script.ksh
     
    sqlplus -s login/mdp@sid @script.sql
    echo $MSG_ERR # Ici, le message d'erreur doit nous indiquer quelle requête a rencontré une erreur.

    Mon script SQL contenait à l'origine la ligne suivante en en-tête : WHENEVER SQLERROR EXIT FAILURE; mais ce n'est évidemment pas suffisant pour récupérer une description détaillée de l'erreur rencontrée pendant la requête.

    Existe-t-il un mécanisme similaire aux exceptions C++ / Java pour SQL PLUS ? Est-il possible de retourner du texte en sortie de script ? Je vous remercie pour vos réponses !

  2. #2
    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

  3. #3
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 103
    Points : 224
    Points
    224
    Par défaut
    Bonjour mnitu,

    Malheureusement, retourner un code d'erreur ne me convenait pas, je voulais vraiment récupérer un message d'erreur afin de pouvoir le répercuter sur mon script écrit en Shell. Après quelques recherches, il s'est avéré que c'était impossible, ou hors de ma portée.

    J'ai donc trouvé une solution alternative et décidé de traiter les exceptions en ouvrant un fichier puis en écrivant les messages d'erreurs en appelant la fonction UTL_FILE. Après quoi, je sors du script SQL en appelant return;.

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

Discussions similaires

  1. Gestion des exceptions dans sql*loader
    Par sabdoul dans le forum SQL*Loader
    Réponses: 0
    Dernier message: 06/03/2013, 13h00
  2. Gestion des exceptions imbriquée dans des Try et boucle
    Par Droïde Système7 dans le forum Débuter
    Réponses: 7
    Dernier message: 13/01/2010, 18h30
  3. Réponses: 0
    Dernier message: 10/09/2009, 17h48
  4. [PL/SQL] gestion des exceptions - probleme
    Par etoileDesNeiges dans le forum Administration
    Réponses: 6
    Dernier message: 11/01/2007, 17h13
  5. [EXCEPTION] Gestion des Exceptions dans PL/SQL
    Par Titouf dans le forum PL/SQL
    Réponses: 4
    Dernier message: 08/02/2006, 00h46

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