【问题标题】:SSIS: adding a column to a destination table after importSSIS:导入后将列添加到目标表
【发布时间】:2012-01-07 01:26:54
【问题描述】:

我有一个用于导入 excel 数据的 SSIS 包,我需要在导入数据时向表中添加一列,但是,该列是从 sql 服务器中已存在的另一个表连接的人为数据数据库。

有人知道我是怎么开始这样做的吗?

我尝试过“派生列”,但是填充列的数据不是从源 excel 数据派生的,而是从数据到另一个表的连接。

谢谢

【问题讨论】:

  • 您是否有理由不能为此仅使用视图?

标签: sql-server-2008 ssis


【解决方案1】:

除了来自@HLGEM 的方法之外,您还可以使用查找

【讨论】:

    【解决方案2】:

    我知道两种方法。您可以在数据流中使用合并联接。这往往很慢,因为您必须对合并的两个源进行排序。如果您的数据集不大,这可能还不错。

    如果您的数据源很大,我更喜欢先将数据导入到一个数据流中的工作表中。然后,第二个数据流中的数据源(导入到生产表的数据源)将是一个查询,它将工作表连接到您要从中获取其他信息的现有表。这设置起来更耗时,但在这里我们从不导入任何没有工作表的东西,因为它掩盖了返回研究数据导入问题变得更加容易。在我看来,它还可以更轻松地在导入之前清理数据,因为我不喜欢在数据流中进行清理。

    【讨论】:

    • 我倾向于同意第二种解决方案。在 SQL Server 中暂存数据并完成您需要的工作。但是,您可以使用合并连接或查找在数据流的上下文中完成所有这些操作。
    • 我知道你可以在数据流方面做到这一切,我发现它们比使用 t-sql 清理数据更难维护。
    • 同意。最好将数据暂存,使用t-sql清洗数据。
    猜你喜欢
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    相关资源
    最近更新 更多