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 :

Fonctionnement d' UTL_FILE


Sujet :

PL/SQL Oracle

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut Fonctionnement d' UTL_FILE
    Bonjour à tous,

    Je travail actuellement sur une application développée en VB.net et Asp et relié à une base oracle 8i. J'ai besoin d'écrire certaines données dans un fichier texte à partir de procédures PL/SQL. Après quelques recherches je suis tombé sur le package Utl_File qui semble correspondre à mes besoins, j'ai donc essayé de le mettre en pratique... Je parviens à compiler et exécuter sans problème particulier mais il ne se passe rien.

    Le fichier texte que ma procédure est censée me créer et me remplir n'existe pas. J'ai également vu qu'avant de se servir d'UTL_FILE on a besoin de créer un directory et de lui attribuer le droit en écriture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL> CREATE OR REPLACE DIRECTORY MONREP AS 'E:/SQL/in' ;
    SQL> GRANT READ, WRITE ON DIRECTORY MONREP TO PUBLIC ;
    Ne comprenant pas son utilité je ne l'ai pas fait. Je ne comprend pas à quoi ce Directory sert....à moins que le fichier texte créer ne sois disponible que dans la base oracle donc côté serveur ?? Merci de bien vouloir éclairer ma jeune lanterne !

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [...]
    f UTL_FILE.FILE_TYPE;
    BEGIN
    f := UTL_FILE.FOPEN('C:\test' , 'test_log.txt', 'a');
    [...]
    UTL_FILE.put_line(f, 'Nombre de Vans Chargés : ' || cursLigneIMP$%ROWCOUNT);
    [...]
    UTL_FILE.FCLOSE (f);
    END;
    PS: Ce qu'il y a au niveau des [...] n'est pas utile donc je ne l'ai pas mit.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Le code PL/SQL s’exécutant coté serveur il est tout à fait normal que le fichier est crée quelque part sur le serveur de base des données. Est-ce que ça vous convient ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Oui c'est bien ce qu'il me semblait.

    J'en conclut donc qu'il est impossible d'écrire dans un fichier texte côté client avec cette méthode ? (UTL_FILE)

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Rien n’est impossible… Mais souvent soit ce n’est pas pratique soit c’est une usine à gaz soit…
    Mais en VB.net écrire des données dans un fichier n’est pas si compliqué. Donc pourquoi voulez-vous employer du PL/SQL coté serveur ?

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    Justement, je pensais à la base le réaliser en VB. J'ai d'ailleurs posté à ce sujet hier après-midi dans la partie VB de Developpez.net ==> http://www.developpez.net/forums/d10...cedure-pl-sql/ ! Mais je n'ai pas obtenu de réponses, j'ai donc essayer de réfléchir à une autre solution ! Comme les données dont j'ai besoin sont disponibles dans le PL/SQL je pensais que ce serait plus facile par là mais apparament non. Je vous met le lien au cas où vous auriez quelques notions en VB ^^

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Ca fait quelques bonnes années depuis que je n’ai pas touché au VB.
    Considérez votre ref_cursor comme un Select. Vous devez coder de la même façon, sauf qu’au lieu de exécuter le select qui renvoie un recordset (ou notion similaire) vous exécutez une procédure.

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 18
    Par défaut
    D'accord mais qu'entendez-vous par "comme un Select" ??

  8. #8
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/06/2003, 16h51
  2. Réponses: 5
    Dernier message: 14/05/2003, 14h51
  3. [Turbo Pascal] TP7 fonctionne en QWERTY
    Par callahan dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 08/02/2003, 21h49
  4. Prb de fonctionnement dans SaveDialog avecInitialDir
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 12/12/2002, 21h46
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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