积极答复者
初学者:SSIS包并行处理怎么实现?

问题
答案
全部回复
-
This is a very smart question, you are also an experienced SSIS guy. I am sorry I cannot type Chinese at this moment to explain this.
The key point in your question is that you are using Foreach loop, let's assume that you are just using the Execute Package task in the Foreach loop container, the Foreach loop container decided that the Execute Package task can be run under the Enumerator control only.
There are two major options to make the package runing on the multiple treads: 并行 control flow and 并行 Data flow. In your case, you can consider to use the other ways to call the B package, for example create the SQL Job, use the Conditional Split transformation, multiple data flows, multiple controls and so on, but anyway, the condition to run the B pakcage should be 并行 at first.
-
Many thanks for your answer, Patrick. You are always so kind.
Is there any place to set the parallel threads for a package? (I think the SSIS should meet this kind of requirement). That means when I call a package with different parameters, those tasks will be run by parallel with several threads. I am sorry I can not explain my issue clearly, Patrick. For example:
When I pass the parameter A with 3 different values, the package B will be called three times. What I want is the Call 1, Call2, Call 3 are running in parallel.
Parameter A(int a = 3) -> Package B Call 1
Parameter A(int a = 4) -> Package B Call 2
Parameter A(int a = 5) -> Package B Call 3