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

Résolu/Fermé
yemad - 14 août 2001 à 09:59
 habib - 15 oct. 2009 à 16:50
Bonjour,

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

Merci
A voir également:

3 réponses

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
j'ai tout exécuter mais je ne trouve rien sur le disque ?
0
Salut,

Bonjour, tu t' es connecté sous sysdba ?
A tu uliser un fichier ora.init pour faire sauter les privileges?
3
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
16 août 2001 à 01:03
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
0