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

Oracle Discussion :

[PL/SQL] signification de F_TRACE


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Par défaut [PL/SQL] signification de F_TRACE
    bonjour,
    j'ai fait une recherche dans utl_file et g rencontré la fonction F_TRACE
    tel que ecrit dans le code ci dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    F_TRACE (lc$requete,'T');
    et ca genere une erreur
    pls00201:identifier F_TRACE must be declared
    après la compilation
    es c ke qlq'un peu m'expliquer la signification de F_trace?
    comment debugger cet erreur?
    ou est ce qu'on peu faire une documentation si on veu savoir plus sur F_trace et d'autre fonction comme tel?
    merci pou votre aide!!

  2. #2
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    F_TRACE doit être une fonction développer car elle n'existe pas dans le package utl_file (en 9i).

    Ou as tu trouvé l'exemple.

    sinon voivi l'exemple d'une fonction de trace (fait vite fait sans test) :
    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
    CREATE OR REPLACE procedure p_trace( xligne IN varchar2 ) as
       wout utl_file.file_type;
    begin
       begin
          wout := utl_file.fopen('/chemin_trace','trace.dat','a');
       exception when OTHERS then
          begin
             wout := utl_file.fopen('/pgm/jetform/dat','trace.dat','w');
          exception when OTHERS then
                raise_application_error(-20098,'Erreur a l''ouverture de la trace');
          end;
       end;
       utl_file.put(wout,to_char(sysdate,'YY/MM/DD HH24:MI:SS> ')|| xligne);
       utl_file.fclose(wout);
    end;
    /

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Par défaut chemin du lien
    g trouvé le lien ici:http://oracle.developpez.com/sources...traction_table

    dans le code source extraction_table.j'utilise la version 9i mais il y a une erreur!!
    oki merci bcp

  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
    http://www.google.com/custom?q=F_TRA...developpez.com

    il est vrai que c'est bien caché

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    PROCEDURE f_trace (pc$message IN VARCHAR2, pc$output IN VARCHAR2 DEFAULT 'S')
    IS
       PRAGMA AUTONOMOUS_TRANSACTION;
       lc$string   VARCHAR2 (4000);
       LN$slices   PLS_INTEGER;
       LN$rest     PLS_INTEGER;
       LN$pos      PLS_INTEGER     := 1;
       LN$inc      PLS_INTEGER;
    BEGIN
       IF UPPER (pc$output) = 'S'
       THEN
          -- Screen output (DBMS_OUTPUT) --
          LN$inc := 255;
          LN$slices := LENGTH (pc$message) / LN$inc;
          LN$rest := MOD (LENGTH (pc$message), LN$inc);
     
          IF LN$rest > 0
          THEN
             LN$slices := LN$slices + 1;
          END IF;
     
          -- output --
          FOR i IN 1 .. LN$slices
          LOOP
             lc$string := SUBSTR (pc$message, LN$pos, LN$inc);
             DBMS_OUTPUT.PUT_LINE (lc$string);
             LN$pos := LN$pos + LN$inc;
          END LOOP;
       ELSE
          -- Table output (INSERT) --
          LN$inc := 4000;
          LN$slices := LENGTH (pc$message) / LN$inc;
          LN$rest := MOD (LENGTH (pc$message), LN$inc);
     
          IF LN$rest > 0
          THEN
             LN$slices := LN$slices + 1;
          END IF;
     
          -- output --
          FOR i IN 1 .. LN$slices
          LOOP
             lc$string := SUBSTR (pc$message, LN$pos, LN$inc);
     
             INSERT INTO TRACE
                         (ligne
                         )
                  VALUES (lc$string
                         );
     
             COMMIT;
             LN$pos := LN$pos + LN$inc;
          END LOOP;
       END IF;
    END;

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Par défaut apres compilation
    ooh!!
    je suis encore la,j'ai encore rencontré un probleme apres compilation du code ci dessus.(f_trace)
    oraora 00201 identifier TRACE must be declared
    d'ou est ce que ca viens?????????????encore???
    merci de debugger avec moi.

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    La procedure F_TRACE permet de sortir des chaines de caractère a l'écran avec DBMS_OUTPUT ou dans une table avec insert. Dans ce dernier cas, une table est donc nécessaire dont vous trouverez le script de création ici:
    http://oracle.developpez.com/sources...oppement#TRACE

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

Discussions similaires

  1. Signification d'une requete sql
    Par AnneB dans le forum Langage SQL
    Réponses: 0
    Dernier message: 18/04/2008, 08h52
  2. signification d'une requette sql
    Par ouinih dans le forum Langage
    Réponses: 1
    Dernier message: 17/03/2008, 10h37
  3. [PL/SQL] Signification du message ORA-106561
    Par PDR dans le forum Oracle
    Réponses: 1
    Dernier message: 08/02/2006, 14h58
  4. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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