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

Oracle Discussion :

Récupérer certaines données et les mettre dans un fichier texte.


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Récupérer certaines données et les mettre dans un fichier texte.
    Bonjour,

    Je dois réaliser un batch quotidien qui récupère certaines données de la base et les transcrit dans un fichier texte (avec un format spécifié)

    Existe-t-il sous Oracle un outil permettant de créer le code rapidemment ??

    Pourriez vous me donner des exemples ??

    Merci d'avance !!

  2. #2
    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
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,

    pour faire ce genre de chose, vous pouvez utiliser le package UTL_FILE ou faire un spool.

    Je n'en dirais pas plus car la question à dèjà été posté. Une petite recherche sur le forum s'impose ou même sur le site.

    voili, voilou

  3. #3
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 3
    Points
    3

  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
    Points : 2 998
    Points
    2 998

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Points : 161
    Points
    161
    Par défaut
    pour faire cela il faut créer 2 fichiers lance.bat et req.sql :
    pour le lance.bat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #sqlplus /nolog @req.sql
    pour le req.sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # connect user/password@chaine
    # spool fichier_sortie.txt
    # select donnees from table ;
    # spool off
    # exit

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 87
    Points : 79
    Points
    79
    Par défaut
    ça n'implique que moi, mais je crois que c'est plus propre d'utiliser UTL_FILE pour tout ce qui est import/export, parce qu'avec ce package, on peut controler le format des données exportés, et j'imagine que c'est le but de l'export.
    par exemple, si les données que tu exportes doivent être affichées sur excel après, le mieux est d'avoir un format CSV, et ça, tu ne peux pas le faire avec spool.
    enfin, c just un avis
    AEMAG

  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
    avec SQL*Plus le format est libre, il y a aussi beaucoup d'option. Par ailleurs, utl_file ne permet pas de générer un script sur le poste client et ouvre une faille de sécurité... alors moi, pour si peu, je privilégie le spool

  8. #8
    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
    Points : 2 998
    Points
    2 998
    Par défaut
    Bonjour,

    utl_file ne permet pas de générer un script sur le poste client et ouvre une faille de sécurité...
    Fred pourrait tu nous en dire plus sur la faille de sécurité ?

  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
    bah c'est pas compliqué, pour utiliser UTL_FILE il faut autoriser l'écriture sur un répertoire depuis la base de données... or Oracle est loin d'être irréprochable en terme de sécurité donc tu détournes la sécurité mise en place sur le serveur grâce à la base... sans compter le nombre de fois où j'ai vu un utl_file_dir = *

  10. #10
    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
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par Fred_D
    bah c'est pas compliqué, pour utiliser UTL_FILE il faut autoriser l'écriture sur un répertoire depuis la base de données... or Oracle est loin d'être irréprochable en terme de sécurité donc tu détournes la sécurité mise en place sur le serveur grâce à la base... sans compter le nombre de fois où j'ai vu un utl_file_dir = *
    Oui enfin à partir de la 9i et la gestion des directories, la faille de sécurité est quand même très limitée puisque tu détermines les seuls répertoires où tu veux écrire et tu donnes les droits en écritures ou en lecture.

    Les 2 principaux intérêts que je vois à utl_file est de pouvoir :
    1. être utilisé à l'intérieur de package et de procédures/fonctions stockées.
    2. écrire des données binaires.

    Mais depuis la 10gR2 avec les dbms_output de taille illimitée, je privilégie le spool pour tout ce qui est écriture de données ascii dans des fichiers.

  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 plaineR
    Oui enfin à partir de la 9i et la gestion des directories, la faille de sécurité est quand même très limitée puisque tu détermines les seuls répertoires où tu veux écrire et tu donnes les droits en écritures ou en lecture.
    sauf que utl_file_dir est toujours présent

    De toutes façons, ça reste une ouverture sur l'OS que je ne préconiserai qu'avec parcimonie

  12. #12
    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
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par Fred_D
    sauf que utl_file_dir est toujours présent
    Là c'est le travaille du dba de dire aux chefs de projet ou aux développeurs qu'il ne veut pas utiliser utl_file_dir ou de n'autoriser que quelques répertoires dans utl_file_dir.

  13. #13
    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
    Points : 2 998
    Points
    2 998
    Par défaut
    Merci à vous deux pour ces précisions. Vous êtes des chefs

    Mais depuis la 10gR2 avec les dbms_output de taille illimitée, je privilégie le spool pour tout ce qui est écriture de données ascii dans des fichiers.
    ça c'est une info vraiment interressante, dommage que je bosse avec la 9i

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/11/2010, 13h03
  2. Réponses: 1
    Dernier message: 19/03/2010, 16h01
  3. Réponses: 4
    Dernier message: 20/06/2009, 11h26
  4. Réponses: 4
    Dernier message: 03/01/2008, 12h37
  5. Réponses: 2
    Dernier message: 22/02/2007, 19h28

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