2010-10-12 89 views
0

SSISSSIS数据流 - 条件拆分

你好。

首先原谅我,如果这没有很大的意义,因为我是相当(如2天前)新SSIS。

最终我期待从XML文件导入所有数据,并根据什么样的文件是用不同的方式和负荷在Microsoft SQL Server中的组关系表的过程2008年

每个XML文件都有一个0或1的布尔标志。根据它是0还是1,我希望数据流以不同的方式处理,因为每种类型的文件都需要以不同的方式处理。

我一直在寻找使用条件性拆分转换但是我遇到了几个问题。

我得到使用XML数据流源的数据,并检查该标志,然后根据其是否为0或1的数据流向左或向右。但是,XML包含大量数据,我只能使用标志移动数据元素,并且我需要它将该数据的其余数据移动到该方向。

我以为我可能会打开文件检查标志,将标志存储为变量,然后关闭文件并打开一个0包或一个包,这取决于变量,然后再打开xml文件并拔出数据。然而,这并不“闻”,因为我打开和关闭同一个XML文件两次。

有任何人碰到这个和他们怎么围绕它得到什么?

回答

1

虽然我不认为有什么不妥在ETL操作打开一个文件两次,你可以与包括使用可变条件划分组件单个数据流任务(或派生列等)为实现自己的目标条件表达。通过使用脚本组件可以轻松地在数据流任务中设置变量。

+0

你好。 Orka,非常感谢回应。仅仅重申一下,我的XML文件包含了50个单独的元素。现在我可以使用XML来源条件拆分来评估一个元素(标志)的结果,然后将该元素加载到其相关表中。我需要什么来评估该元素,然后根据该标志处理其他49个元素。你认为我还需要看序列容器吗? – Pixelated 2010-10-13 09:08:21

+0

您可以轻松地通过使用顺序容器实现自己的目标,但如果你不想打开同一个文件,然后两次可以读取第一个元素,并设置标志在数据流任务的脚本组件。那么你应该在条件分割中使用该标志。如果您使用顺序容器方式,则可以在第一个元素处检查标志,然后决定运行哪个数据流任务。希望这个帮助。 – orka 2010-10-13 11:20:14