0

J'ai un dossier qui contient différents fichiers SQL. Maintenant, dans le paquet SSIS, dans la boucle foreach, je lis la requête stockée dans chaque fichier sql (avec la tâche de script) et plus tard j'exécute la requête dans la tâche de script Execute et obtenons ainsi un resultset dans une variable.générer des fichiers plats pour différents fichiers sql dans un package SSIS unique

Maintenant, je veux générer des fichiers plats correspondant à chacune de ces variables resultset.

Cette procédure est-elle possible (j'ai essayé d'utiliser dataflowtask mais n'utilise pas de variable comme source) ou dois-je procéder différemment?

+0

Est-ce votre premier paquet ou avez-vous essayé une autre méthode ?? – Aravind

+0

J'ai essayé d'utiliser dataflowtask dans foreach loop mais je ne pense pas pour chaque itération, nous pouvons changer le texte de commande à la requête différente ... – Asin

+0

vous devriez essayer une requête dynamique dans ce cas .. Besoin de plus de clarté sur votre question – Aravind

Répondre

0

OLE DB Source a une option sous Data access mode appelée SQL command from variable. Je pense que c'est celui que vous cherchez.

Vous pouvez utiliser la requête paramétrées comme ci-dessous capture d'écran: enter image description here

Alors que la solution proposée: enter image description here

+0

Cette option est utilisée pour la requête paramétrée. La partie de requête select est fixe et nous filtrons la requête à travers les paramètres de chaque itération, par exemple select * from order où year> @variable. Dans mon cas, chaque requête a un schéma de table différent donc ne peut pas être paramétré. – Asin

+0

Vérifiez mon edit ... – HGF

+0

j'ai essayé ceci mais son ne fonctionne pas dans l'itération de forloop. Dans mon cas, chaque requête renvoie des colonnes différentes, de sorte qu'elle échoue lors de la seconde itération (dans datafowtask) car le mappage de colonne correct ne se produit pas avec les colonnes de source de données oledb. – Asin