SSIS
您好。
首先请原谅我,如果这不是很有意义,因为我对SSIS是公平的(如2天前)。
最终我希望从XML文件导入所有数据,并根据它以不同方式处理哪种文件并加载到Microsoft SQL Server 2008中的一组关系表。
每个XML文件都有一个0或1的布尔标志。根据它的0或1,我希望数据流采用不同的方式,因为每种类型的文件需要以不同的方式处理。
我一直在考虑使用条件拆分转换,但是我遇到了一些问题。
我使用数据流XML源获取数据并检查标志,然后根据数据是向左还是向右流0或1。然而,XML包含大量数据,我只能使用标志移动数据元素,我需要它来移动那个方向的其余数据。
我以为我可能会打开文件检查标志,将标志存储为变量然后关闭文件并根据变量打开0包或1包,然后再次打开xml文件并提取数据。然而,当我打开和关闭两次相同的XML文件时,这并没有“闻到”。
有没有其他人遇到过这个问题,他们是如何解决这个问题的呢?
答案 0 :(得分:1)
虽然我认为在ETL操作中两次打开文件没有任何问题,但您可以通过单个数据流任务实现目标,该任务包括使用变量(或派生列等)条件的条件拆分组件表达。通过使用脚本组件,可以在数据流任务中轻松实现设置变量。