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 :

Capture d'erreur et d'enregistrement en erreur dans un CLOB


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par défaut Capture d'erreur et d'enregistrement en erreur dans un CLOB
    Bonjour,

    Je viens vers vous pour exposer un projet de gestion d erreur sours Oracle 10gr2 .
    J'ai actuellement une gestion d erreur de ce type :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    begin
        -- Ouverture du curseur CursMakeXML
        OPEN CursMakeXML;
        LOOP
        FETCH CursMakeXML INTO NameMake,XML_MK;
        EXIT WHEN CursMakeXML%NOTFOUND;
     
          INSERT INTO XML_TABLE_TRAITEMENT 
            SELECT value(tab),'Model'
            from
            table (
          XMLSequence(extract((XML_MK),'/Model')
          ) 
        ) tab;
     
    END LOOP;
    CLOSE CursMakeXML;
     
          -- Gestion des erreures
          exception
            When others then
              -- Affichage de la ligne en erreur dans le code pl sql
              DBMS_OUTPUT.PUT_LINE( DBMS_UTILITY.FORMAT_ERROR_BACKTRACE );
             -- Affichage du message d erreur Oracle
              DBMS_OUTPUT.PUT_LINE( SQLERRM );
        end;
    C'est très basique, en cas d erreur on l affiche.

    Ce que je voudrais c'est utiliser des CLOB!! Mon idée créer une table de log d erreur avec le message d erreur , la ligne erreur et dans un clob le contenu de l enregistrement que je voulais insérer.

    Le but étant de répandre cette gestion d erreur dans tous les autres procédure et fonctions stockée.

    Comment je pourrais faire pour stocker dans un CLOB tous type de data (XML, varchar, number, date ...) ?

    Actuellement

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    pourquoi pas une colonne XMLType si c'est pour y mettre du XML ? Et c'est pas plus simple de mettre juste la PK de l'enregistrement ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par défaut
    le but c 'est de pouvoir réutiliser cette gestion d erreur pour d autre type d enregistrement (du varchar, des date, du number, des long ...).

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    oui et ? Le XMLType t'as pas le sentiment que c'est le mieux pour stocker une chaine XML ?

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par défaut
    Citation Envoyé par orafrance Voir le message
    oui et ? Le XMLType t'as pas le sentiment que c'est le mieux pour stocker une chaine XML ?
    Je vais être plus clair , là dans l exemple j insére du XML donc une colonne xmltype est de rigueur mais le but de cette gestion d erreur est aussi de pouvoir fonctionner avec une insertion de varchar.

    Donc afin de pouvoir traper tous types d enregistrements en erreur, j'envisage un CLOB.

    Maintenant la question que je me suis pas posée , c'est est ce possible de stocker du XML dans un CLOB, je pense que oui. Mais comment ?

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bah du xml c'est jamais qu'une chaine de caractères donc oui

Discussions similaires

  1. Erreur Classe non enregistrée
    Par nassoft dans le forum Delphi
    Réponses: 13
    Dernier message: 26/05/2007, 12h56
  2. [D7],[Access],[ADO],enregistrer une erreur dans un fichier log
    Par iam dans le forum Bases de données
    Réponses: 9
    Dernier message: 16/04/2007, 18h24
  3. Enregistrer les erreurs provoquées
    Par Masmeta dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/11/2006, 08h36
  4. message d'erreur "pas d'enregistrement courant"
    Par wishmasteer dans le forum Access
    Réponses: 1
    Dernier message: 30/05/2006, 22h35
  5. [c#] enregistrer contrôle, erreur VS2005.
    Par Zebeber dans le forum Windows Forms
    Réponses: 8
    Dernier message: 20/04/2006, 20h44

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