2017-09-21 4 views
-2

Je commence à travailler avec SSIS et je trouve quelques doutes quant à l'implémentation d'une connexion entre une base de données Oracle et mon SQL Server. J'ai une procédure stockée dans ma base de données SQL Server qui renvoie plusieurs commandes qui doivent être mises à jour avec certaines informations de la base de données Oracle. Alors, n'importe qui peut m'aider à trouver un moyen de le faire? J'ai juste besoin d'exécuter ma procédure, obtenir le jeu de résultats et l'utiliser dans la commande SQL dans la source OLE DB, dans la clause where. Je vous remercie!Utilisation du résultat de la procédure stockée en tant que paramètre dans la source OLE DB

+0

Votre question est un peu trop large. SSIS est un outil parfait pour cela, mais nous ne pouvons pas concevoir un paquet entier pour vous. S'il vous plaît jeter un oeil dans certains tutoriels SSIS, voir quelques cas d'utilisation et revenir avec des questions spécifiques concernant la mise en œuvre, si vous en avez. – PacoDePaco

+0

Je ne veux pas que vous me fassiez un paquet ... Je viens juste de demander si quelqu'un peut me suggérer un moyen de le faire .. Si vous êtes un dieu du SSIS, désolé moi ... je l'apprends donc loin ... – Felipe

+0

Ne me prends pas mal. Tout ce que je dis, c'est que cette communauté aime voir vos commentaires avant de vous donner des directives. Il est juste un peu difficile d'expliquer tout cela de haut en bas et il vous serait plus facile de comprendre nos directions une fois que vous aurez réfléchi. – PacoDePaco

Répondre

1

Puisque vous avez posé une question générale, je répondrai par une stratégie générale.

Exécutez votre procédure stockée dans une tâche SQL d'exécution et stockez les résultats dans une variable. Utilisez cette variable pour créer une deuxième variable avec votre chaîne de requête Oracle. Ensuite, utilisez cette deuxième variable en tant que requête SQL dans votre source OLE DB.

+0

Merci pour votre réponse .. J'ai déjà créé une tâche Execute SQL qui enregistre mon ensemble complet de résultats dans un Variable de type de données d'objet ... mais quand je vais à mon flux de données, je ne pouvais pas voir ma variable ... Dans votre suggestion, cette deuxième variable que je dois créer dans mon flux de données ou flux de contrôle (mes variables sont créées dans la portée du paquet)? J'ai vu quelques tutoriels qui me conseillent d'utiliser un conteneur de boucle foreach ... mais cela n'a pas de sens pour moi ... – Felipe

+0

Oui, puisque votre première variable est de type Object, vous devrez l'itérer avec une boucle foreach et Construisez votre deuxième variable dans une tâche de script dans cette boucle. La deuxième variable devra être au niveau du paquet et intégrée dans le flux de contrôle. OU vous pouvez ignorer la boucle foreach et écrire simplement une tâche de script qui répète la variable objet et construit la variable chaîne. –

+0

Cool ... Merci beaucoup ... Je vais essayer ici et vous faire savoir si je pouvais mettre en œuvre que ... – Felipe