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

MS SQL Server Discussion :

[SSIS] update de table en SSIS


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 49
    Par défaut [SSIS] update de table en SSIS
    Bonjour,

    Je travaille avec SQL Server 2005 SP1 et SSIS.
    Je dois faire une différence entre deux tables chacune sur leur base respective:
    tableA(identifiant, libellé) sur BaseA
    tableB(identifiant, libellé) sur BaseB

    Au moyen de SSIS, j'arrive bien à envoyer les données qui existent sur la tableA de la baseA vers la tableB sur la baseB. Par contre je n'arrive pas à mettre à jour les données de la tableA vers la tableB lorsque les identifiants existent sur les deux tables mais que le libellé est différent.

    Voyez vous comment faire un update de table?

    Merci

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Peut-être en posant les données dans une table tampon et en faisant la comparaison sur un des serveurs.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 49
    Par défaut
    Ce n'est pas le problème de récupérer les données, mon problème est l'update. Je ne vois pas comment faire en SSIS pour updater une table. Faire une insertion , je sais mais un update ou un delete non.

  4. #4
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Ce que je veux dire, c'est :
    - tu insères tes données dans une table temporaire sur le serveur B... ah, mais :

    es-tu sur le même serveur ? Si oui, tu fais ta requête d'update en utilisant une simple tâche de requête SQL.

  5. #5
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 49
    Par défaut
    Je suis en effet sur le même serveur mais ça n'a pas d'importance
    En gros, j'ai une base de dev (Base A) qui où l'on travaille sur des données de paramétrage pour des machines, ... et je souhaite mettre à jour une base de Prod (Base B) lorsque les paramétrages sont OK. Pour éviter d'avoir à tout supprimer, je souhaite mettre à jour la différence.

    J'ai bien penser à faire la "requête d'update en utilisant une simple tâche de requête SQL" mais premièrement, je ne vois pas comment ça fonctionne, deuxièmement, je n'ai pas trouvé d'exemple et troisièmement, je voulais savoir s'il existait une façon de le faire en SSIS sans passer par du code sql?

    Si vous avez des exemples complets ça m'interessent.

  6. #6
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    1) oui cela a de l'importance : si tu es sur le même serveur, tu peux le faire directement en code SQL

    2) le faire en SQL sera plus simple et plus rapide.

    Le code ressemblera à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    UPDATE b
    SET libelle = a.libelle
    FROM BaseA.dbo.tableA a
    JOIN BaseB.dbo.tableB b ON a.identifiant = b.identifiant
    WHERE a.libelle <> b.libelle

Discussions similaires

  1. [SSIS] Débutant Création table
    Par luc_chivas dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/04/2009, 12h58
  2. [SSIS][2k5] Plusieurs tables en destination
    Par verbal34 dans le forum SSIS
    Réponses: 1
    Dernier message: 12/10/2008, 00h43
  3. [SSIS][2008]Mesures table de faits
    Par matb33 dans le forum SSIS
    Réponses: 2
    Dernier message: 25/06/2008, 17h07
  4. Réponses: 2
    Dernier message: 10/04/2008, 15h12
  5. SSIS Export de tables probleme Separateur
    Par sunshine2004 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/11/2007, 23h31

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