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 :

Importation fichier excel vers oracle


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 26
    Points
    26
    Par défaut Importation fichier excel vers oracle
    j'ai un fichier excel contenant des données que je veux les importer dans une table d'une base oracle.
    J'ai cherché dans le forum et j'ai trouvé une question similaire mais les réponses à cette question ne sont pas bien précises. Cette réponse donne l'outil permettant d'importer des données:SQLLoader.
    Ma question est :comment associer une colonne du fichier excel à une colonne de la base? Autrement pour un fichier csv on peut spécifier que les champs sont séparés par des ; par exemple. Comment le faire pour excel?

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    si tu sais le faire pour un fichier .csv, exporte ton excel en .csv puis utilise ce nouveau fichier !

  3. #3
    Membre régulier
    Femme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations forums :
    Inscription : Décembre 2005
    Messages : 113
    Points : 87
    Points
    87
    Par défaut
    je te détaille pas à pas la procédure
    1- Tu enregistre le fichier excel sous format txt ou csv (je l'appelerai le fichier de données soit donnees.txt)
    2- Tu cré la table sous oracle (soit TABLE(id, designation)
    3- tu cré un fichier texte (CONTROL) contenant le code sqlloader en suivant l'exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    load data infile 'donnes.txt'
    APPEND
    into table TABLE
    fields terminated by ' '
    (
    id,
    designation
    )
    4- Change l'extension de CONTROL de .txt à .cls
    5- ouvre une fenètre de commande
    6- exécuter la commande suivante au niveau du répertoire racine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\>sqlldr user\password@host control=CONTROL.CLS
    et voilà
    pour plus de clarté consulte http://jaouad.developpez.com/sqlldr/

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Citation Envoyé par edzodzinam
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\>sqlldr user\password@host control=CONTROL.CLS
    et voilà
    ça marche ça ? parcequ'avec toutes les versions que je connais, il faut impérativement lancer sqlldr sur la même machine que la base.

    Personnelement, quand j'ai des données à manipuler de manière souple entre oracle et excel ou autres applications du monde microsoft, je passe par Access. J'attache les tables oracle par odbc et je fait des copier/coller....

    Autre methode marrante, c'est de faire une colonne excel avec une formule qui va générer des instructions insert. Il n'y a alors qu'a faire un copier/coller de la colonne dans un sqlplus.

    Evidemment, ces 2 méthodes ne seront plus adaptées si on doit traiter des gros volumes ou si on veux automatiser le processus.

  5. #5
    Membre actif Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Points : 296
    Points
    296
    Par défaut seulement quelques champs
    OK mais maintenant, si je ne souhaite pas importer la totalite du fichier et simplement que quelques champs ?
    Jeremie

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 114
    Points : 67
    Points
    67
    Par défaut
    Salut et Desole pour cette réponse Tardiiiiiiiiiiiiiiiiive,
    Mais je vois qu'il est mieux tard que jamais
    Pour exporter un fichier Excel sous Oracle voilà la solution, déjà testée et ca marche 100%
    Tu dois invoker un fichier sur lequel tu as mentionné la source du fichier Excel + les champs de la table Oracle + le separateur s'il existe;
    la commande est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlldr user/motdepasse@chainedeconnexion control=nom_fichier.ctl
    Le fichier 'nom_fichier.ctl' contient le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    OPTIONS ( ERRORS = 99999999,SKIP=1,DIRECT=FALSE )
    LOAD DATA INFILE 'nom_fichier_excel.csv'
    TRUNCATE
    INTO TABLE schema.ma_table
    FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
    TRAILING NULLCOLS 
    (
    champ1 Type,
    Champ2 Type,
    Champ3 Type
    )
    Type: soit le type du champ (CHAR, DATE, NUMBER)
    Personllmt j'ai mis les 2 fichiers (CTL et CSV) dans C:
    Voilà c'est tout pour l'importation je reste à votre disposition pour autre info
    Merci bye bye

  7. #7
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 306
    Points
    5 306
    Par défaut
    2 ans après.... mieux vaut tard que jamais..

    Si le P.O. était toujours bloqué sur ce problème, je plains son employeur !

    Ora92_IDS, Merci de ta contribution !

    Mais vaut mieux éviter de déterrer les sujet si vieux... qui plus est si cela concerne un problème pour lequel les solutions ont été postés des dizaines de fois sur le forum

Discussions similaires

  1. Importation fichier excel vers access
    Par mbokmahop dans le forum VBA Access
    Réponses: 17
    Dernier message: 05/08/2018, 16h33
  2. [Oracle] Import d'Excel vers Oracle via PHP
    Par gogolak dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/05/2011, 15h22
  3. importer les données d'un fichier excel vers oracle 10g
    Par sarita_ima dans le forum Documents
    Réponses: 2
    Dernier message: 04/09/2009, 13h52
  4. import et export d'un fichier excel vers oracle
    Par viehanae dans le forum Import/Export
    Réponses: 0
    Dernier message: 13/04/2009, 22h00
  5. import fichier excel vers mysql
    Par Groshaeny Roger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 03/04/2006, 20h31

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