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 :

[ORACLE 9i] UTL_FILE


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut [ORACLE 9i] UTL_FILE
    Bonjour et bonne annnée 2006, qu'elle réalise tous vos souhaits !!

    Je voudrais savoir si il est possible de connaitre le répertoire et le nom du fichier en cours d'écriture depuis sont handle ?
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    utl_file.put_line(xout,wligne);
    dbms_output.put_line('Nom du fichier d'écriture'||f_ret_rep_fic(xout));
    Affiche : Nom du fichier d'écriture/rep1/sousrep11/toto.txt

    J'ai regarder le tuto de sheikyerbouti mais j'ai rien trouvé !

  2. #2
    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
    Je ne connais aucune instruction permettant de retrouver la localisation d'un fichier depuis son handle.

  3. #3
    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
    Cela me paraît bizarre comme besoin . Si tu as un handle, c'est que tu connais l'emplacement et le fichier.

    Peux-tu préciser pourquoi tu as besoin de faire cela ?

  4. #4
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Citation Envoyé par plaineR
    Cela me paraît bizarre comme besoin . Si tu as un handle, c'est que tu connais l'emplacement et le fichier.

    Peux-tu préciser pourquoi tu as besoin de faire cela ?
    Ben en général dans une même procédure / function on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create procedure Extract_data()
    as
    wout := utl_file.fopen('/rep1','file1.data','w');
    utl_file.put_line(wout,'data1224');
    .....
    wout.fclose(wout);
    end;
    Dans ce cas effectiviement aucunin intéret.
    Mais si on fait

    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
     
    --Ouverture, Appel à l'écriture et Fermeture
    create procedure Extract_data_open()
    as
    --Je vous épargne la recherche des répertoire et fichiers dans un table
    wout := utl_file.fopen('/rep1','file1.data','w');
    Extract_data_write(num_extract,wout);
    .....
    wout.fclose(wout);
    end;
     
    --Ecriture des données suivant un numéro d'extraction
    create procedure Extract_data_write(xnum_extract, xout)
    as
    --Je vous épargne la boucle du cuseur
    for in loop
       utl_file.put_line(xout,'data1224');
       .....
    end loop;
    Et là je souhaite suivant l'emplacement et le nom du fichiers ajouter des lignes dans le fichier exemple
    if f_ret_rep_fic(xout) = '/rep1'||'file1.data' then
       utl_file.put_line(xout,'bla bla bla bla');
    end if;
    end;
    Donc les impacts sont important car la il existe environ une 50aines de procédures Extract_data_open et une seule et unique procédure Extract_data_write.
    C'est pour cela que je souhaite éviter de modifier les 50 proc si je peux en impacter une seule.

    Mais après 24 heures de recherche tout le mon de sèche, je commence à penser que cela n'est pas possible

    Mais oracle est avant tout une base de donnée pas un gestionnaire de fichier plat !!

  5. #5
    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
    Citation Envoyé par sygale
    Mais oracle est avant tout une base de donnée
    Justement, pourquoi ne pas utiliser une table temporaire dans laquelle tu mémorises pour l'identifiant le nom du fichier ?

  6. #6
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Citation Envoyé par plaineR
    Citation Envoyé par sygale
    Mais oracle est avant tout une base de donnée
    Justement, pourquoi ne pas utiliser une table temporaire dans laquelle tu mémorises pour l'identifiant le nom du fichier ?
    Oui c'est une solution, mais elle implique la sauvegarde du nom de fichier donc motification des 50 appels à la proc.
    Sinon on peut faire un paramètre aussi, ce qui nous allège le travail sur la savegarde des paramètre.

    De toute facon je pense que je vais ê obligé de modifier tous les appelant même si cela m'embête un peu, 5à fois plus de boulot, mais si c'est la seule solution ....

  7. #7
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Sinon comment on fait pour connaitre le code du package utl_file ?

    Sous toad il est crypté !

  8. #8
    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
    Rien à voir avec Toad. Il est crypé en base.

  9. #9
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Citation Envoyé par SheikYerbouti
    Rien à voir avec Toad. Il est crypé en base.
    Il est possible de voir la code ?

  10. #10
    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
    Citation Envoyé par sygale
    Citation Envoyé par SheikYerbouti
    Rien à voir avec Toad. Il est crypé en base.
    Il est possible de voir la code ?
    et bien non, justement, sinon à quoi servirait le cryptage.

  11. #11
    Membre émérite Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Juste une precision: Les packages noyaux sont en fait masques ('wrapped' en anglais). Ils ne sont pas cryptes.

  12. #12
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Ben oracle aurait pu cacher ses packages et les vendre si on souhaite les modifier !

    Bref, je pars sur la modification des 50 appels.

    meric pour toutes ces précieuses précesions

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

Discussions similaires

  1. UTL_FILE.FOPEN avec directory oracle
    Par fguigui dans le forum PL/SQL
    Réponses: 18
    Dernier message: 12/05/2010, 15h44
  2. Réponses: 3
    Dernier message: 23/03/2007, 16h23
  3. Réponses: 7
    Dernier message: 10/07/2006, 14h54
  4. Package UTL_FILE et migration oracle 7 en 10g
    Par TIF16 dans le forum Oracle
    Réponses: 4
    Dernier message: 07/04/2006, 15h34
  5. Réponses: 1
    Dernier message: 02/02/2006, 23h12

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