【问题标题】:How to insert a row into a dataset using SSIS?如何使用 SSIS 在数据集中插入一行?
【发布时间】:2008-09-09 02:33:47
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

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

    为此,您可以执行以下操作:

    • 多播以创建输入数据的多个副本
    • 派生列转换以在副本上设置“预设”值
    • 排序
    • 合并

    我是否在正确的轨道上/你想要完成什么?

    【讨论】:

    • 这似乎是一种非常干净的方法。
    • 我不了解 OP,但这解决了我的问题。我需要复制行,修改它们并将它们放回集合中。
    【解决方案2】:

    我从未尝试过,但您似乎可以使用 Derived Column transformation 来执行此操作:将属性 1 的表达式设置为 "foo",将属性 2 的表达式设置为 "bar"

    然后,您将转换原始数据源,然后仅使用目标中的派生列。如果您仍然需要原始源,您可以多播它以创建一个副本。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2019-12-17
        • 1970-01-01
        • 2019-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多