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 :

Utl_file Et Spool


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1
    Par défaut Utl_file Et Spool
    qu'est ce qui est le mieux à utiliser et c'est quoi la grande difference ?

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    En simplifiant :
    - utl_file génère un fichier sur le serveur de base de données
    Pour plus d'informations sur utl_file :
    http://sheikyerbouti.developpez.com/...?page=Chap8#L8

    - spool permet de générer un fichier sur le poste d'où est exécute le script (ou la requête)
    De plus spool est une instruction SQL*Plus et ne peut pas exécuté dans un bloc PL/SQL.

    Suivant le contexte, l'un ou l'autre est plus adapté. Mais il est difficile de dire comme cela lequel est mieux que l'autre.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 87
    Par défaut
    comme l'a dis plaineR, tout dépend de ce que l'on veut faire, cependant, en plus de la différence mentionnée, il faut savoir qu'à l'aide UTL_FILE, on a plus de libérté par rapport à l'export des données. par exemple, on peut décider nous même du format des données de sorties (avec quel type de délimiteur, doit on ajouter du texte ... ), alors qu'avec spool, on a largement moins de controle sur la sortie.
    Spool reste comme même efficace pour ce qui est de la génération des rapports instantannées, a conditions de bien s'y connaitre en sql*plus
    AEMAG

  4. #4
    Rédactrice

    Avatar de kalyparker
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Janvier 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 327
    Par défaut
    Bonjour,

    Pour completer ce qu'à dit plaineR à propos du spool :

    Effectivement, un spool ne peux pas s'exécuter dans un bloc pl, mais il peut très bien l'encadrer. Et les donnees peuvent être enregistrer dans le fichier de sortie grace au package DBMS_OUTPUT.

    Voili, voilou
    It isn't that they can't see the solution, it's that they can't see the problem.
    Mes Articles et Traductions (Microstrategy, Css et Javascript)
    Si vous souhaitez contribuer à la rubrique BI, contactez-moi ou tout autre membre de l'équipe BI par MP.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    mais attention, DBMS_OUTPUT est limité en nombre de caractères affichés

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Avec la 10g R2, le buffer de DBMS_OUTPUT est maintenant illimité: http://download-uk.oracle.com/docs/c....htm#sthref147

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 16
    Par défaut
    Citation Envoyé par kalyparker
    Bonjour,

    Pour completer ce qu'à dit plaineR à propos du spool :

    Effectivement, un spool ne peux pas s'exécuter dans un bloc pl, mais il peut très bien l'encadrer. Et les donnees peuvent être enregistrer dans le fichier de sortie grace au package DBMS_OUTPUT.

    Voili, voilou
    Ca m'interresse beaucoup
    (j'ai un client 8.17 sur windows et j'attaque une base 9.2.0.6)
    Quelqu'un peut donner un exemple ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    set serveroutput on
    spool fichier
    DECLARE
    <code>
    BEGIN
    <code>
    DBMS_OUTPUT.PUT_FILE ...
    END;
    /
    spool off

  9. #9
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Citation Envoyé par meuledor
    (j'ai un client 8.17 sur windows et j'attaque une base 9.2.0.6)
    Attention dans ces versions les dbms_output sont limités à 1000000 de caractères et 255 caractères par ligne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence d'efficacité entre spool et utl_file
    Par bstevy dans le forum PL/SQL
    Réponses: 1
    Dernier message: 20/03/2015, 10h17
  2. sql dynamique et spool
    Par aline dans le forum Oracle
    Réponses: 7
    Dernier message: 16/11/2004, 18h32
  3. spool equivalent postgresql
    Par car dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/05/2004, 09h22
  4. remplir une table avec UTL_FILE.GET_LINE
    Par delphim dans le forum SQL
    Réponses: 9
    Dernier message: 12/03/2004, 10h15
  5. Récupérer le nom du fichier spool correspondant à un job
    Par chtiot dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 23/02/2004, 20h28

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