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 :

Exception lorsque le dblink est en erreur


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 55
    Par défaut Exception lorsque le dblink est en erreur
    Bonjour,

    Admettons qu'on a un dblink vers une autre base de données. Quelle exception est levée dans le cas d'une coupure réseau sur des bases sur des serveurs différents.

    Aussi peut-on catch les exception dans une boucle tout en continuant le traitement dans la boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    WHILE KO LOOP
    Exception
     
    OK
    WHEN OTHERS 
    END LOOP

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Si tu connais le sqlcode des erreurs liés au dblink, tu peux toujours faire quelque chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    when others then 
       if sqlcode = <code erreur> then ...
    Ou plus propre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare
       dbKO exception ;
       pragma exception_init(dbKo, <code erreur>) ;
    begin
       ...
    exception
       when dbKo then ...
    end;
    Pour la liste des exceptions prédéfinies en standard :
    http://sheikyerbouti.developpez.com/...age=Chap1#L1.3

  3. #3
    Membre expérimenté Avatar de DAB.cz
    Inscrit en
    Octobre 2006
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 221
    Par défaut
    Citation Envoyé par Sargon Voir le message
    Aussi peut-on catch les exception dans une boucle tout en continuant le traitement dans la boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    WHILE KO LOOP
    Exception
     
    OK
    WHEN OTHERS 
    END LOOP
    oui:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WHILE KO LOOP
      declare
         dbKO exception ;
         pragma exception_init(dbKo, <code erreur>) ;
      begin
         ...
      exception
         when dbKo then ...
      end;
    END LOOP;

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 55
    Par défaut
    Merci à vous deux je test et vous donne des news

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 55
    Par défaut
    Autre question peut-on imbriquée les exceptions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...
    EXCEPTION
     
    WHEN blabla THEN
      WHILE KO LOOP
        ...
        OK
        EXCEPTION
          WHEN blabla
        END
    END

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 55
    Par défaut
    Encore une autre question j'ai l'erreur :

    ORA-04084: cannot change NEW values for this trigger type

    lorsque j'essaye d'affecter une valeur dans un bloc d'exception

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ..
    exception 
    when others
      :new.id = 45;
    Cette modification concerne bien un trigger sur update ou insert

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 55
    Par défaut
    mon trigger était un after Insert ... le problème n'est plus d'actualité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    EXCEPTION
     
    	WHEN DUP_VAL_ON_INDEX THEN
    	 BEGIN 
    	 	   null;
    			   EXCEPTION 
    			   WHEN OTHERS THEN 
    			   		null;
     
    	 END;
     
     
    	WHEN OTHERS THEN	
    		  IF ((SQLCODE  = -12505)) THEN
     
    		  	 :new.test := 1;
    		  END IF;

    Merci à vous

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/02/2015, 16h59
  2. Erreur lorsque le fichier est lourd
    Par momjunior dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/01/2015, 14h21
  3. Erreur lorsque l'appli est publiée
    Par planeurbret dans le forum VB.NET
    Réponses: 2
    Dernier message: 21/01/2012, 17h46
  4. [mySQL 5] Eviter l'erreur lorsqu'un champ est inexistant
    Par fanfouer dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/03/2008, 10h10
  5. Erreur au démarrage de Windows lorsque le PC est "froid"
    Par papal02 dans le forum Windows XP
    Réponses: 14
    Dernier message: 02/03/2008, 15h16

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