Mise à jour de la table à l'aide de SSIS
Je suis en train de mettre à jour un champ dans une table avec les données d'une autre table, basé sur une clé commune. Si elle était en droit de SQL, il serait quelque chose comme:
Update EHSIT
set e.IDMSObjID = s.IDMSObjID
from EHSIT e, EHSIDMS s
where e.SITENUM = s.SITE_CODE
Cependant, les deux tables ne sont pas dans la même base de données, donc je suis en train d'utiliser SSIS faire la mise à jour. Oh, et le sitenum/site_code sont varchar dans l'un et nvarchar dans l'autre, donc je vais avoir à faire de conversion de données afin qu'ils correspondent.
Comment dois-je faire?
J'ai un flux de données de l'objet, avec la source comme EHSIDMS et la destination de l'EHSIT. J'ai une conversion de données à convertir le format unicode pour les non-unicode. Mais comment puis-je mettre à jour basée sur le match? J'ai essayé avec la destination, à l'aide d'une Commande SQL que le mode d'Accès aux Données, mais il ne semble pas avoir de la table source. Si je viens de la carte du champ à mettre à jour, comment est-il limiter basée sur les champs correspondant?
Je suis sur le point d'exporter ma table source vers Excel ou quelque chose, et puis essayer de la saisie à partir de là, bien qu'il semble que tout ce qui pourrait me faire serait de supprimer les données de l'étape de conversion.
Ne devrait pas y avoir une mise à jour des données de la tâche ou quelque chose? Est-ce l'un de ces Flux de Données, les tâches de transformation, et je ne suis pas à comprendre qui il est?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le SQLCommand (avec paramètres) mais vous aurez effectivement l'écriture d'un
UPDATE
pour chaque ligne. Je l'ai trouvé mieux d'écrire une table de transit à destination (soit toutes les données de la distance ou les données déterminées par SSIS être changé) et d'utiliser un seul SQLUPDATE
pour effectuer la mise à jour.Vous pouvez toujours utiliser la totalité de la base de données nom.
J'ai trouvé que l'utilisation d'une dimension à variation lente, avec la clé d'entreprise que la valeur que vous êtes d'appariement et les autres attributs que vous voulez mise à jour, comme l'évolution des valeurs semble fonctionner.
Devtron, j'ai essayé et obtenez des erreurs sur le chemin d'accès au serveur, il ya beaucoup de /'s en lui. On m'a aussi dit que c'est très mal vu, surtout si c'est une opération qui se produit beaucoup.
Je voudrais utiliser une transformation de recherche
Pas besoin de mise en scène - pas besoin d'écrire du code SQL - c'est la manière SSIS était censé être!