2010-07-16 3 views
1

J'ai un cas de mise à jour de la table cible où les données des colonnes source ne sont pas égales aux données des colonnes cibles. J'essaye de faire ceci dans le composant de commande OLE DB de flux de données mais ne soutenant pas l'utilisation multiple des colonnes. Je ne souhaite pas utiliser l'instruction MERGE en raison des résultats de la base de données dans cette logique métier.mise à jour dans le flux de données avec validation

MISE À JOUR targettable

set colonne1 = @ sourcecolumn1

, colonne2 = @ sourcecolumn2

, colonne3 = @ sourcecolumn3

OÙ colonne1! = @ Sourcecolumn1

ET colonne2! = @ sourcecolumn2

ET column3! = @ Sourceclolumn3

fondamentalement, il doit vérifier toutes les modifications dans tous les champs de la table cible avec les données source, si des changements puis mettre à jour autrement aucune mise à jour.

Toutes les instructions sur la mise en œuvre de ce secnario dans la suite des données.

grâce

prav

+0

OK, après un certain temps la pensée logique sur les composants existants j'ai utilisé COLONNE COPY Composant pour faire Copys 'de @sourcecolumns donc j'ai 3 colonnes source originales et 3 copies de colonnes source puis je peux utiliser la commande OLE DB comme UPDATE VALIDATOR. grâce prav – prav

Répondre

0

Vous voudrez peut-être regarder un composant SSIS de contrôle.

Il crée une somme de contrôle dans la table cible qui est comparée à la source d'origine et peut être définie pour transmettre uniquement les lignes sur lesquelles des modifications ont été effectuées.

Je l'ai utilisé celui-ci dans le passé sans aucun problème majeur: Checksum Transformation

Il y a un tutoriel décent pour ici: Checksum Walkthrough

+0

Salut, Merci pour la réponse rapide, mais que la mise en œuvre Enterprise DW, le client ne sont pas intéressés à prendre un autre que les composants existants. merci prav – prav

Questions connexes