1

我有 10 个表正在使用 SSIS 导入另一个 sql server 数据库。

我是否必须创建 10 个不同的 Dataflow 任务,还是可以继续执行一个 Dataflow 任务并将 10 个表添加到其中?

我尝试使用单个数据流任务,但它只允许单个表。

4

2 回答 2

2

所有源表是否共享一个公共架构?所有目标表是否共享一个通用模式(不必与源表的通用模式相同)?

如果这两个问题的答案都是“是”,那么您实际上可以编写一个数据流任务(其连接管理器已参数化)并将其放入 Foreach 循环容器中。

如果这些问题中的一个(或两个)的答案是“否”,那么您将必须有单独的来源和目的地。您可能想研究商业智能标记语言作为自动生成这些数据流的一种方式,尽管它对于“仅”十个表可能有点过分。

于 2013-01-24T22:20:33.293 回答
1

答案取决于您和您的最佳实践,以及您将有多少开发人员同时从事项目工作。

完全可以将一组以上的表放在一个数据流中。您可以简单地将其他源和目标添加到您的数据流中。 但是,这几乎不是一个好主意,因为它会增加项目生命周期后期的维护工作。它使查找和调试错误变得更加困难。它使整个项目更加复杂。

如果您独自工作,并且您将自己构建和维护该项目的整个生命周期,那么请务必做任何您觉得最舒服的事情。

如果您所在的团队可能都维护这个项目,我建议您至少将不同表的数据流分解为不同的数据流任务。

如果您在一个较大的组中并且为了在维护方面具有更大的灵活性,我建议将每个数据流分解为不同的包(假设 2008 年或以下。我还没有玩过 2012 年的项目模型,所以不会评论他们在这里),这样每个人都可以由不同的开发人员同时进行。(即使你是项目中唯一的人,我实际上也会推荐这种方式编码,但这只是我在职业生涯中形成的风格。)

于 2013-01-24T15:45:09.547 回答