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

Import/Export Oracle Discussion :

Exporter une table dans un fichier texte


Sujet :

Import/Export Oracle

  1. #1
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut Exporter une table dans un fichier texte
    Bonjour,
    j'ai besoin d'exporter une table Oracle dans un fichier texte.

    J'avais commencé l'opération sous Toad avec l'assistant d'export.
    Au bout de 2h00 j'ai obtenu un message "memory full".

    En effectuant des recherches sur internet, j'ai lancé un export sous sql +.

    Avec un code similaire à celui-ci saisi dans la fenêtre sql+ ligne à ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    set head off -- this will turn off your column name heading
    spool c:\myfile.txt
     
    select field1||'; '||field2||'; '||field3 from my_table;
     
    spool off -- turn spooling off
    set head on -- turn the heading parameter back on
    J'ai réussi à lancer le traitement mais il dure depuis hier 17h30.

    L'assistant Toad allait plus vite, je n'aurais pas eu ce souci de mémoire, ça aurait été très bien.

    La table ne contient que 3 champs mais environ 40 millions d'enregistrements.

    Est-ce que vous verriez une autre manière de réaliser ce type d'export de façon plus rapide ?

    Merci.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Oui, en passant par un outil client vous êtes dépendant du réseau, si le débit entre votre PC et le serveur n'est pas bon ça peut être un vrai problème.
    C'est souvent plus rapide d'exporter sur le serveur Oracle vos données, de compresser le fichier puis de le récupérer.

    Je vous invite à lire cet article (en anglais) qui compare différentes méthodes d'export de données dans un fichier plat :
    http://www.oracle-developer.net/display.php?id=425

  3. #3
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Oui, en passant par un outil client vous êtes dépendant du réseau, si le débit entre votre PC et le serveur n'est pas bon ça peut être un vrai problème.
    C'est souvent plus rapide d'exporter sur le serveur Oracle vos données, de compresser le fichier puis de le récupérer.

    Je vous invite à lire cet article (en anglais) qui compare différentes méthodes d'export de données dans un fichier plat :
    http://www.oracle-developer.net/display.php?id=425
    Bonjour,
    je vous remercie pour votre réponse.
    Je vais lire l'article que vous indiquez.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  4. #4
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Pourquoi ne pas afficher les données directement sur excel en utilisant ODBC. sauf que excel ne supporte pas en tant de données comme celles que tu as.
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  5. #5
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Merci islamov2000,
    Excel n'est pas assez puissant pour afficher autant de lignes.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  6. #6
    Membre à l'essai Avatar de Stbaurl
    Inscrit en
    Décembre 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Filippo Voir le message
    Merci islamov2000,
    Excel n'est pas assez puissant pour afficher autant de lignes.
    Bonjour,

    Le sujet date un peu... Mais je me pose une question : à quoi bon générer un fichier d'une telle taille dans un fichier à plat ? Il sera de toute façon inexploitable sous cette forme !

    N'y a-t-il pas la possibilité d'agréger les données dans une table temporaire... Et c'est cette table (avec beaucoup moins de lignes) que tu exporterais.

    A moins qu'il s'agisse d'alimenter une autre application- mais dans ce cas il semblerait pertinent de la plugger directement sur la base Oracle.

  7. #7
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Bonjour,
    à l'époque, il s'agissait d'archiver des tables Oracle sous forme de fichiers textes pour les conserver sans avoir accès aux bases.

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/06/2010, 17h25
  2. [A-03] [VBA] Exportation de table dans un fichier texte
    Par Julien Dufour dans le forum VBA Access
    Réponses: 11
    Dernier message: 27/02/2009, 14h13
  3. Enregistrer les données d'une table dans un fichier texte word ou excel
    Par maamar1979 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 13h41
  4. Delphi7 - Export d'une table dans un fichier texte
    Par jer64 dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/06/2006, 00h33
  5. Exporter une table dans un fichier excel
    Par david71 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/09/2005, 17h09

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