Génération d'un fichier à partir de PL/SQL

Résolu
yemad -  
 habib -
Bonjour,

Je souhaiterais enregistrer le résultat d'un select dans un fichier txt. Comment faire.

Merci

3 réponses

  1. mbgh1302
     
    Bonjour, voici comment j'ai fait sous ORACLE :(et ça marche très bien)

    SQL>CREATE OR REPLACE DIRECTORY MON_REP as 'chemin_de_votre_rep';
    -- 'c:\test\' sous win ou '/home/oracle_user/test/' sous linux
    Directory created.

    SQL> GRANT READ, WRITE ON DIRECTORY MON_REP TO PUBLIC ;
    Grant succeeded.

    Puis dans votre bloc (anonyme, procédure, fonction) PL/SQL :
    DECLARE
      f_file_id UTL_FILE.FILE_TYPE;
      v_file_location VARCHAR2(256) := 'MON_REP';
      v_line VARCHAR2(4000);
      BEGIN
      
      dbms_output.put_line(v_file_location);
      f_file_id := UTL_FILE.FOPEN(v_file_location,'first_file.txt','w');
      UTL_FILE.PUT_LINE(f_file_id,'Hello Wolrd -- Comment ca marche ?!');
      UTL_FILE.FCLOSE (f_file_id);
          
       f_file_id := UTL_FILE.FOPEN(v_file_location,'first_file.txt','r');
       UTL_FILE.GET_LINE(f_file_id,v_line);
       DBMS_OUTPUT.PUT_LINE(v_line);
       UTL_FILE.FCLOSE (f_file_id);
       
       EXCEPTION
       WHEN OTHERS
       THEN
       dbms_output.put_line(SQLERRM);
       UTL_FILE.FCLOSE_ALL;
       END;
       /
    
    15
    1. habib
       
      j'ai tout exécuter mais je ne trouve rien sur le disque ?
      0
  2. fred
     
    Salut,

    Bonjour, tu t' es connecté sous sysdba ?
    A tu uliser un fichier ora.init pour faire sauter les privileges?
    3
  3. jisisv Messages postés 3678 Statut Modérateur 936
     
    Sur quel OS , quelle base de données?
    Johan
    Sous Unix et PostgreSQL ou MySQL, il suffit d'effectuer une commande du genre

    psql mabase < monscript.sql > mes-resultats.txt
    1