2011-05-06 76 views
0

我想引入一个XML源并进行数据转换并在表中更新它。此表中的数据将用于更新另一个表。如何在SSIS中实现这一点?SSIS两个临时表

我了解前两个步骤。但在那之后失去了。 (在数据流任务)

  • 数据转换

  • OLE DB目标

    1. XML源? (如果我使用OLE DB目标,那么我不能再用它作为源来更新另一个表)。我应该使用什么组件来完成此任务?

    TIA

  • 回答

    0

    使用OLE DB目标注入您的XML源数据到临时表中。然后,在您的控制流中,在数据流任务之后使用执行SQL任务来执行存储过程或T-SQL脚本,以便将数据从登台表移动到生产表并在需要时截断登台表。

    我发现SSIS非常适合ETL工作,但在数据库或聚合工作中移动数据最好是在存储过程中使用T-SQL。更容易编写,控制,并且你知道你不会在DFT中发生任何RBAR shenanigans。

    因人而异

    2

    在一个数据流可以拆分记录(如果你想一些记录一条路可走,有的去另一种方式)或mulicast任务,如果你使用一个条件劈去到多个表希望所有记录都去两个目的地。我们使用多播来创建两个临时表,一个是来自文件的原始数据将保留,另一个将在进入我们的prod表之前清理和转换数据。这使我们能够轻松研究是否有一些问题数据是由于我们的转换过程(错误)或发送的错误数据(客户端存在问题,但如果它们无法解决可能需要更多步骤来处理)。

    您也可以拥有多个数据流,它们都具有相同的源。或者,您可以插入一个临时表,然后再有第二个数据流或exec SQL任务将该数据移动到您想要的位置。