2016-05-17 3 views
0

J'ai un composant DataFlow source personnalisé dont l'O/P sera différent à chaque fois, j'ai besoin d'insérer ces enregistrements dans une table de destination. Problème: - Impossible de spécifier les colonnes d'entrée lors de la conception pour le composant de destination .. comme en cours pour chaque appel à la tâche DataFlow, le composant source va retourner différentes colonnes O/P basées sur le schéma de table. Comment accepter toutes les entrées disponibles sans mappage dans le composant Destination DataFlow (par un composant existant ou par un composant personnalisé)?Comment faire pour passer plusieurs entrées pour le composant de script SSIS

+0

Cela ressemble plus à une question de développeur de code procédural qu'à une question de développeurs ETL. Êtes-vous sûr qu'un outil ETL est la solution appropriée pour votre scénario actuel? –

+0

Bien im fait avec ceci par la cartographie individuelle pour des tables individuelles .. juste voulu savoir est-il possible que nous pouvons faire cela ..: P..months retour j'ai commencé SSIS .. dois apprendre beaucoup ..: P –

Répondre

0

La structure fixe du flux de données est là pour la validation et l'optimisation des données. Tous ses composants vont avoir des colonnes d'entrée et de sortie fixes. Je suggère les possibilités suivantes:

  • Écrivez un flux de données pour chaque schéma possible. Il y a probablement un nombre fini de possibilités. Vous pourriez réduire l'effort de cette tâche en utilisant BIML qui pourrait générer la structure du paquet pour vous. Cela peut également introduire la possibilité de chargement en parallèle.
  • Utilisez une tâche de script au lieu d'un flux de données. Dans la tâche de script, écrivez les lignes pour chaque entrée dans une table.

m

+0

Ouais .. On dirait que j'ai posé une question stupide ..; P .. Au début, je pensais à l'aide d'une tâche de script et copie en bloc, mais le problème était avec Performance. J'ai dû faire des compromis avec cela en raison du volume important de données .. J'avais déjà terminé avec la cartographie individuelle, je voulais juste savoir si quelque chose de type de cartographie dynamique serait possible ou non ... Merci .. –

0

Si vous devez passer plusieurs entrées à un seul composant de script, la seule façon que je sais faire est de passer les multiples entrées à un composant UNION ALL, et en faisant passer la seule sortie de le UNION ALL au script.

Vous devrez tenir compte des différences entre les deux structures de colonnes dans UNION ALL, et peut-être utiliser des colonnes dérivées si vous avez besoin d'un moyen facile d'identifier de quelle origine provient une ligne.