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

SSIS Discussion :

[SQL2005][SSIS] Importation de données depuis une colonne d'un fichier Excel


Sujet :

SSIS

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut [SQL2005][SSIS] Importation de données depuis une colonne d'un fichier Excel
    Bonjour à tous,

    Je cherche actuellement à importer des données dans une base SQL-Server 2005 depuis un fichier Excel.

    J'imagine que SSIS est la solution pour un réaliser un tel traitement, mais je ne sais comment faire.

    En entrée :
    Un fichier Excel avec le nom des colonnes dans la première ligne.
    Ex: NomEntreprise - CodeEntreprise - Email ...

    En sortie :
    Une table de la base de données.

    Le traitement :
    Prendre une colonne précise du fichier Excel (l'adresse e-mail) et l'importer dans la colonne "Email" de la table "Entreprise".
    La correspondance des lignes (entreprises) peut se faire sur le CodeEntreprise que l'on retrouve à la fois dans le fichier Excel et dans la table.

    Une idée de la méthode ?

    Par avance merci à tous,
    @+

    Stéphan.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Insérer la totalité du fichier Excel sous forme CSV dans une table temporaire puis faire une requête de cette table temporaire vers la table de destination.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 265
    Points : 314
    Points
    314
    Par défaut
    Alors, les grandes lignes: dans un tâche de flux de données tu utilises les éléments suivantes:
    - un composant "Source Excel" qui va pointer sur les données de ton fichier Excel en entrée.
    - tu utilises un transformation "Recherche" pour mapper tes codes entreprise du fichier excel avec ceux de ta table de destination "Entreprise".
    - pour les code entreprise correctement mappés, tu utilises une transformation "Commande OLE DB" de type Update pour mettre à jour les e-mail dans ta table
    - pour les autres codes trouvés dans le fichier Excel mais absents de ta table Entreprise, tu peux utiliser une transformation "Commande OLE DB" de type Insert pour insérer ces enregistrements.

    Tu as aussi la transformation "Dimension à variation lente" qui peut te permettre de gérer directement ces 2 dernières étapes.

    Le bémol de cette méthode: la lenteur de la transformation "Commande OLE DB".

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut Merci
    Merci à vous deux pour vos réponses.

    Je vais tester tout ca.

    @+

    Stéphan.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Je bloque pour la mise en place de la transformation de dimension à variation lente.

    Quelques conseils supplémentaires ?

    @+

    Stéphan.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 265
    Points : 314
    Points
    314
    Par défaut
    Plus de détail sur le bloquage ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut Erreur
    Oui, oui... c'est à cause des différences de format unicode et non unicode.

    Mais comme je ne suis pas spécialement familiarisé avec SSIS et bien je ne sais pas trop comment procéder. :-(

    Merci encore.

    @+

    Stéphan

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 265
    Points : 314
    Points
    314
    Par défaut
    Qu'est ce qui est en unicode ?
    La source, la cible ?

    Tu peux utiliser la transformation de conversion de données pout tout mettre au même format.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Justement, je ne maîtrise pas trop le système :-(

    Merci encore.
    @+

    Stéphan.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 265
    Points : 314
    Points
    314
    Par défaut
    Tu obtiens un message d'erreur particulier ?

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Le message d'erreur concernant les différences de type (unicode et non unicode) pour les données.

    En fait, je suis pas sûr de suivre la bonne méthode pour effectuer le travail en question.

    Malheureusement il n'y a pas vraiment de tutoriel décrivant le processus. :-(

    Merci tout de même,
    @+

    Stéphan.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Quelle serait la méthode "passe partout" pour s'affranchir de ce genre de problème ?

    Quelqu'un aurait-il un exemple parlant car là je ne sais pas trop (pas du tout en fait ) comment faire.

    Par avance merci à tous,
    @+

    Stéphan.

  13. #13
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Si tu suis la bonne procédure je pense juste qu'il t'ouvre une fenêtre précisant pour quelle colonne tu as une erreur, il te suffit en général de mettre le contraire de la colonne stipulé (passer de non unicode à unicode par exemple) pour qu'ensuite ca fonctionne.

    Tuto SSIS si ca peut t'aider

    Citation Envoyé par StefC30 Voir le message
    Quelle serait la méthode "passe partout" pour s'affranchir de ce genre de problème ?

    Quelqu'un aurait-il un exemple parlant car là je ne sais pas trop (pas du tout en fait ) comment faire.

    Par avance merci à tous,
    @+

    Stéphan.
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

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

Discussions similaires

  1. [XL-2010] Problème VBA importation données d'une feuille d'un fichier excel
    Par harrylomax dans le forum Excel
    Réponses: 4
    Dernier message: 03/10/2014, 22h41
  2. Mettre les données d'une colonne d'un fichier Excel dans une ArrayList
    Par kortobi dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 05/09/2012, 19h40
  3. Réponses: 9
    Dernier message: 07/02/2012, 11h07
  4. SSIS importation des données d'une source de donnée Excel
    Par majidic dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/05/2007, 11h45
  5. [MySQL] Importer les données depuis une DB vers une autre
    Par mamiberkof dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/03/2007, 15h52

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