2017-09-27 8 views
0

SSDT a la tâche de script qui permet de développer du code personnalisé en C# capable de traiter les données à l'intérieur des flux SSIS.Développer une DLL sur Visual Studio et l'intégrer sur un dtsx

Mais cette solution est très laide, car chaque fois que nous avons besoin d'éditer ce code, une instance de Visual Studio est ouverte, et elle doit être fermée pour que nous puissions exécuter le dtsx. Et puis, quand il est exécuté à l'intérieur de SSDT, une instance VS est à nouveau ouverte, et quand l'exécution se termine, elle est fermée. Y a-t-il un moyen, au lieu d'ouvrir VS à partir de SSDT, de développer du code directement dans VS, en faisant référence à l'API SSIS, puis de le compiler dans une DLL et de l'intégrer dans SSDT? Ou, au moins, garder VS ouvert et "lié" à SSDT, afin que nous puissions développer et utiliser son débogueur?

Répondre

1

Si vous vous souciez uniquement de la séparation du codage et de SSIS, vous pouvez simplement essayer de l'avoir comme application (.exe) et l'exécuter en utilisant Execute Process Task. De cette façon vous séparez le codage de SSDT, vous pouvez également avoir une option pour le stocker dans un repo git pour suivre les changements et simplement faire le déploiement sur le chemin spécifié de votre .exe que vous définissez dans le Execute Process Task. Dans le débogage, je pense que VS a la possibilité d'utiliser Attached to Process puis lorsque votre SSIS touche votre application, il déclenche le point d'arrêt. Mais prenez note que vous devez pointer votre tâche Execute Process vers .exe générée par le mode de débogage.

Espérons que cela aide.

+1

wow merci beaucoup !! Je ne connaissais pas cette tâche de processus d'exécution. Cela m'a apporté une autre idée, de faire le contraire. .net démarre, vérifie ce qui doit être fait, puis utilise une commande MSSQL pour démarrer l'exécution de dtsx à partir de l'Agent MSSQL, l'attend pour finir, puis continue. – Hikari

+0

oui, cela dépend de votre complexité. SSIS est très flexible. Bonne chance pour votre projet. –