OLE DB源到具有不同列的多个目标

时间:2019-05-09 14:51:02

标签: sql-server ssis etl

在以下情况下处理用例的最佳方法是什么?

  1. 我有一个旧的-db源,其中包含10列

  2. 此源数据需要转到三个地方,且其来源与字段不同

    • Excel 1(来源中有5个字段)
    • Excel 2与以前的excel具有不同的字段
    • 将SQL Server表与其他字段组合

脚本组件用来选择列似乎是一个选项。组播不提供选择特定列的功能。

请参阅图片以获取我的解决方案。需要知道是否还有其他选择可以实现

Current Data flow Solution

2 个答案:

答案 0 :(得分:1)

一些技巧可能会有所帮助:

避免脚本组件

在每个OLE DB目标中,不要添加脚本组件来选择特定的列,只需不要映射这些列。

示例:

enter image description here

图像参考:how to assign a constant value to a column in oledb destination in ssis

在OLEDB来源中选择特定列

如果OLE DB源中的某些列将不会在任何目标中使用,则最好更改访问模式并使用SQL Command而不是Table or View并在其中指定所需的列选择查询。例如,如果表包含5列[Col1],[Col2], ... [Col5],而您只需要[Col1],[Col2],则使用以下查询:

Select [Col1],[Col2] From [Table]

代替选择表名

有关更多信息:

答案 1 :(得分:0)

没有比您拥有的更好的方法了。在每个OLE DB目标中,不要添加脚本组件,而不必映射不想在该目标中使用的列。