VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Génération d'un fichier à partir de PL/SQL [Résolu]

yemad - Dernière réponse le 15 oct. 2009 à 16:50
Bonjour,

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

Merci
Lire la suite 

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

4 réponses
Réponse
+11
moins plus
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;
   /
habib - 15 oct. 2009 à 16:50
j'ai tout exécuter mais je ne trouve rien sur le disque ?
Ajouter un commentaire
Réponse
+2
moins plus
Salut,

Bonjour, tu t' es connecté sous sysdba ?
A tu uliser un fichier ora.init pour faire sauter les privileges?
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « Génération d'un fichier à partir de PL/SQL » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?