如何使用SSIS将行插入数据集中?

时间:2020-03-05 18:49:48  来源:igfitidea点击:

我正在尝试创建一个SSIS包,该包从XML数据源获取数据,并为每一行插入具有一些预设值的另一行。有任何想法吗?我在想可以通过执行以下操作使用DataReader源生成预设值:

SELECT 'foo' as 'attribute1', 'bar' as 'attribute2'

问题是,如何为XML数据源中的每一行插入这种类型的一行?

解决方案

回答

我从未尝试过,但是看起来我们也许可以使用派生列转换来做到这一点:将attribute1的表达式设置为" foo",而attribute2的表达式设置为" bar"。

然后,我们将转换原始数据源,然后仅在目的地中使用派生的列。如果仍然需要原始源,则可以对其进行多播以创建副本。

根据文档,至少我认为这会起作用。 YMMV。

回答

我不确定我是否理解这个问题...我的假设是,我们有n条记录从数据源进入SSIS,并且我们希望输出具有n * 2条记录。

为此,我们可以执行以下操作:

  • 多播以创建输入数据的多个副本
  • 派生列转换以在副本上设置"预设"值
  • 种类
  • 合并

如果我们要完成什么工作,我是否走在正确的轨道上?

回答

我可能会转而使用脚本任务并将逻辑放在其中。我们可能仍然可以利用SSIS中的文件读取和其他对象来保存一些代码。