Ceci est une ancienne révision du document !


Export CSV sous oracle avec sqlplus

De base on ne peut pas exporter en CSV ;-)

Pour exporter le resultat d'une requête oracle en fichier csv (séparé par des ;) :

  • il faut modifier la requete source :
    select column1, column2, column3
    from MYVIEW
    WHERE MYCONDITIONS;

    qui devient (replacement des , entre champs par “||';'||”):

    select column1||';'||column2||';'||column3
    from MYVIEW
    WHERE MYCONDITIONS;
  • Enregistrons donc cette requête dans le fichier /tmp/requete.sql
  • Admettons qu'on veuille exporter le resultat dans /tmp/resultat.csv , Il faut se connecter avec sqlplus et taper les commandes suivantes :
    set pagesize 5000
    set linesize 200
    spool /tmp/resultat.csv
    @/tmp/requete.sql
    spool off;
Remarquez les mots clef “SPOOL $filename” et “SPOOL off” pour débuter puis mettre fin a la redirection de la sortie dans le fichier csv
adaptez le linesize pour avoir des lignes plus longues si vous en avez besoin
sysadmin/tips/oracle.1303481413.txt.gz · Dernière modification: 2011/04/22 16:10 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0