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 :

Génération de fichiers d'erreurs dans une procédure PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut Génération de fichiers d'erreurs dans une procédure PL/SQL
    Bonjour à tous,

    je dois dans une procédure PL/SQL où je suis appelé à faire des requêtes d'extration dans des curseurs et des requêtes d'insertion générer des fichiers d'erreurs qui doivent être consultés par d'autres personnes.
    J'ai pensé fortement aux exceptions mais je sais pas comment les rediriger vers des fichiers ?
    Si quelqu'un a des idées là-dessus, je suis totalement preneur.

    mecri d'avance.


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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    recherche UTL_FILE dans le forum

  3. #3
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut
    En fait mon probléme est :
    je dois recreer à chaque nouvelle execution un nouveau fichier d'erreur donc écrire sur un nouveau fichier d'erreur vide.
    Donc s'il ya un moyen de réinialiser le fichier à chaque nouvelle execution, ce serait génial. Car si je crois bien, avec le paquage UTL_FILE , il n'est possible que d'ecrire une fois sur un fichier déja créé.
    voilà mon probléme.

  4. #4
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    non non, tu peux très bien CREER un fichier avec UTL_FILE...
    Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

    Yorglaa

  5. #5
    Débutant
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Points : 106
    Points
    106
    Par défaut
    peux tu me donner stp la fonction qui cree un fichier dans la package UTL_FILE. ?
    merci d'avance

  6. #6
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    voici une procédure que j'utilises pour crééer un fichier...
    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
    28
    29
    30
    31
    32
    33
    Procedure textToNewFile (    pOutputFilePath    In      Varchar2 ,
                                 pOutputFile        In      Varchar2 ,
                                 pMessage           In      Varchar2
                            ) 
    Is
        lFileHnd        Utl_File.File_Type;
     
    Begin
     
        Lfilehnd := Utl_File.Fopen(Poutputfilepath,Poutputfile,'w');
        Utl_File.Put_Line(Lfilehnd, Pmessage);
        Utl_File.Fclose(Lfilehnd);
     
        Exception
            when UTL_FILE.INVALID_PATH then
               raise_application_error(-20101,'Invalid Path'||'; Path='||pOutputFilePath||'; File='||pOutputFile||'; Message='||pMessage);
            when UTL_FILE.INVALID_MODE then
               raise_application_error(-20101,'Invalid Mode'||'; Path='||pOutputFilePath||'; File='||pOutputFile||'; Message='||pMessage);
            when UTL_FILE.INVALID_OPERATION then
               raise_application_error(-20101,'Invalid Operation'||'; Path='||pOutputFilePath||'; File='||pOutputFile||'; Message='||pMessage);
            when UTL_FILE.INVALID_FILEHANDLE then
               raise_application_error(-20101,'Invalid Filehandle'||'; Path='||pOutputFilePath||'; File='||pOutputFile||'; Message='||pMessage);
            when UTL_FILE.WRITE_ERROR then
               raise_application_error(-20101,'Write Error'||'; Path='||pOutputFilePath||'; File='||pOutputFile||'; Message='||pMessage);
            when UTL_FILE.READ_ERROR then
               raise_application_error(-20101,'Read Error'||'; Path='||pOutputFilePath||'; File='||pOutputFile||'; Message='||pMessage);
            when UTL_FILE.INTERNAL_ERROR then
               raise_application_error(-20101,'Internal Error'||'; Path='||pOutputFilePath||'; File='||pOutputFile||'; Message='||pMessage);
            when others then
                UTL_FILE.FCLOSE(lFileHnd);
                raise_application_error(-20101, 'textToNewFile ERROR : ' || sqlerrm);
     
    End textToNewFile;
    les paramètres sont le chemin du fichier SUR LE SERVEUR, le nom du fichier, le contenu (genre au moins une première ligne...)
    Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

    Yorglaa

Discussions similaires

  1. [8i] Erreur dans une procédure
    Par apersonnat dans le forum SQL
    Réponses: 5
    Dernier message: 01/07/2008, 17h16
  2. un erreur dans une procédure
    Par jack_1981 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 27/01/2008, 12h44
  3. Renvoyer une erreur dans une procédure stockée
    Par SLt dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 18/04/2007, 18h41
  4. Erreurs dans une procédure
    Par zekicker dans le forum Oracle
    Réponses: 9
    Dernier message: 14/01/2007, 08h14
  5. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06

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