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

SQL Oracle Discussion :

[Oracle débutant] Exporter le retour d'une requête dans un fichier


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut [Oracle débutant] Exporter le retour d'une requête dans un fichier
    Bonjour,

    Je reconnais ma question est bête et fait partie des quotidiens de tous les jours pour un DBA oracle . Mais je suis nouveau en Oracle et j'aimerais connaître une commande qui permet d'exporter tout simplement le résultat d'une requête dans un fichier .txt.

    N.B. : Le résultat contient des champs de type CLOB.

    Merci d'avance .

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    via SPOOL sous SQL*Plus, la question a était traitée TRES souvent

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    OK ... mais la réponse est fausse ... . SPOOL ne gère pas les CLOB ! (les colonnes CLOB sont trop grosses pour être affichées en entier, spool se contentant de copier la sortie console dans le fichier.)
    Bien essaié . (je m'y attendais à cette réponse )

    Par contre j'ai trouvé cela :

    http://www.oracle-base.com/articles/8i/ExportClob.php

    Mais je n'ai pas les droits admin pour créer le directory object !

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    et alors... qu'est-ce qui empêche de spooler ?

    tu peux tenter la lecture de la note 163552.1

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    Le contenu d'une d'une ligne CLOB est trop gros (enregistré dans une ligne de watt milles colonnes, ce n'est pas du varchar hein...c'est comme si j'avais un roman sotcké dans ma colonne de type CLOB) Si tu arrives a afficher un roman avec spool chapeau : les lignes générées avec SPOOL n'ont que TRES PEU de colonne...elle n'affiche que le début du roman si tu veux (contenu tronqué en sortie)

    Voici un exemple de sortie tronquée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <etm security="no" language="GB" ido="142" class="a:atm112" std="20"><para>Insta

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    tu peux formater la colonne pour aller à la ligne... t'aura les mêmes problèmes avec SQL*Plus qu'avec n'importe quoi d'autres, un CLOB sur une seule ligne c'est illisible

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par kroax Voir le message
    Voici un exemple de sortie tronquée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <etm security="no" language="GB" ido="142" class="a:atm112" std="20"><para>Insta
    ARRAYSIZE, LINESIZE et WRAP peuvent résoudre ce souci

  8. #8
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    1) Dis m'en plus car linesize j'ai essaié what mille taille, ça fait rien.
    2) Comment on formate ?
    3) Que ce soit illisible je m'en fou !! C'est pour sortir tout ça dans un txt et faire un traitement avec Java dessus plutot que ce pl/sql de m**** bas niveau sans API.


  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    qu'est ce qui te gêne à l'avoir sur plus d'une ligne ? T'as lu la note que j'ai donné ? M'est avis que s'e**erder avec un spool + java pour un truc qu'est peut-être très simple en PL/SQL c'est pas l'idée de l'année

    Pour le formatage, la doc et la recherche sont tes amies

  10. #10
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    Il suffit que j'arrive à faire un export de la base, et adieu PL/SQL .
    Mon seul et unique but est de sortir les résultats dans un fichier !!

    Je me fou de tout le reste.

    C'est bon ma question est clair là ? .

    J'ai essaié linesize, ça change rien sur la sortie console de "Oracle PL/SQL developer". Pour WRAP j'ai entré : "SQL > wrap on", ca affiche '2' je sais pas si ca a marché. arraysize marche pas.

    Si j'abandaonne PL/SQL c'est parce que je m'y suis pris la tête un matin dessus ! pour un truc que je fais en 30min chrono en Java, voilà pourquoi je veux faire mes traitements en Java .

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par kroax Voir le message
    J'ai essaié linesize, ça change rien sur la sortie console de "Oracle PL/SQL developer".
    Evidemment, je te parle de SQL*Plus

  12. #12
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    Mais oui, SQL PLUs est intégré à ce logiciel...
    Bon j'essaie plein de truc :
    SQL > column libAnglais WRAPPED
    SQL > ici ma requete : select machin as libAnglais etc.

    où libAnglais est une énorme chaîne de charactère (CLOB) mais le WRAPPED, rien à blairer la console...

    Pour j'ai la doc sous les yeux : http://www.camden.rutgers.edu/help/D...6736/index.htm
    http://www.camden.rutgers.edu/help/D.../ch41.htm#3557
    http://www.camden.rutgers.edu/help/D...h8a13.htm#2575

  13. #13
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par kroax Voir le message
    Mais oui, SQL PLUs est intégré à ce logiciel...
    Non, SQL*Plus est un outil à part entière.

    Lis ça : http://www.camden.rutgers.edu/help/D.../ch41.htm#3557

  14. #14
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    Oui, j'ai toute ces commandes qui marchent, j'ai donc bien SQLPLUS ?

  15. #15
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    J'en suis là et malgré cette commande, la sortie reste en partie tronquée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET LONG 100000 head off pages 99999 pagesize 9999 linesize 999
    Et ça tronque toujours à 80 colonnes

  16. #16
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    pas dans le fichier

  17. #17
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 110
    Points : 39
    Points
    39
    Par défaut
    En fait j'y suis arrivé avec Oracle PL/SQL Developer : J'extrais le résultats de la requête (affiché sous forme de tableau) en HTML. Ensuite avec Java, je fais mon traitement sans problème.

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/11/2007, 13h52
  2. Réponses: 2
    Dernier message: 15/11/2007, 12h07
  3. Réponses: 8
    Dernier message: 28/09/2006, 15h56
  4. Réponses: 1
    Dernier message: 25/07/2006, 16h55
  5. Réponses: 7
    Dernier message: 30/06/2005, 10h06

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