我确信这是一个相当普遍的问题,但我无法找到任何相关信息。 我们有一个数目不详的数据库服务器来从中获取数据:我们从两个数据库服务器开始,但它们可以变得更多。 数据库服务器中的不同数据库中的所有元数据都相同。 我需要将所有这些N DB中的数据加载到一个DB中。 到目前为止,我有几个.dtsx,每个都有两个并行流完全相同的东西,一个用于第一个DB,一个用于第二个。 每次添加新的数据库服务器时,我都不想为每个(20+)dtsx添加新流。
我希望有一个类似FOR循环的东西,循环遍历我的所有ConnectionManagers。我只创建一个数据流,然后,当必须添加一个新的数据库服务器时,我只需添加一个新的连接管理器,只需稍加努力就可以再次运行,而无需设计全新的数据流。 此外,如果我需要更改我的数据流,我只需要更改一次。
我发现了一篇文章("在运行时使用ssis 2012"动态更改连接),它描述了如何更改连接管理器。 我现在需要的是一种保持PARALLELISM的方法。我想如果我从一个数据库服务器开始导入,我将不得不等到它在第二次启动之前结束。有没有办法将我的ControlFlow放在一个LOOP中,以便每个循环并行启动? 示例:我的数据流由SQLTask T1,DataFlow T2和inal SQLTask T3组成。这必须对我的所有dataConnections(DC1,DC2,...,DCN)并行工作。我需要一种方法一次启动所有dataConnections的T1。我不希望T1 for DC2等待DC1的T3结束。
我正在使用VS2015。 SSIS版本为12。
Thankx
[PS。:如果可能,我宁愿避免使用BIML]