2008-09-09 7 views
0

J'essaie de créer un package SSIS qui prend des données à partir d'une source de données XML et pour chaque ligne insère une autre ligne avec des valeurs prédéfinies. Des idées? Je pense que je pourrais utiliser une source DataReader pour générer les valeurs prédéfinies en procédant comme suit:Comment insérer une ligne dans un ensemble de données à l'aide de SSIS?

SELECT 'foo' as 'attribute1', 'bar' as 'attribute2' 

La question est, comment pourrais-je insérer une ligne de ce type pour chaque ligne de la source de données XML?

Répondre

1

Je ne l'ai jamais essayé, mais il semble que vous pourriez utiliser Derived Column transformation pour le faire: définissez l'expression pour attribut1 sur "foo" et l'expression pour attribut2 sur "bar".

Vous devez ensuite transformer la source de données d'origine, puis utiliser uniquement les colonnes dérivées dans votre destination. Si vous avez toujours besoin de la source d'origine, vous pouvez le multidiffuser pour créer un doublon.

Au moins, je pense que cela fonctionnera, basé sur la documentation. YMMV.

2

Je ne suis pas sûr si je comprends bien la question ... Je suppose que vous avez n nombre d'enregistrements qui entrent en SSIS à partir de votre source de données, et vous voulez que votre sortie pour avoir n * 2 disques .

Pour ce faire, vous pouvez effectuer les opérations suivantes:

  • multidiffusion pour créer plusieurs copies de vos données d'entrée
  • colonne dérivée transforme pour définir les valeurs « prédéfinies » sur les copies
  • Trier
  • fusionner

Suis-je sur la bonne voie avec/ce que vous essayez d'accomplir?

+0

Cela semble être une façon très propre de le faire. –

0

Je passerais probablement à utiliser une tâche de script et placer votre logique là-dedans. Vous pouvez toujours tirer parti de la lecture de fichier et d'autres objets dans SSIS pour enregistrer du code.

Questions connexes