SSIS:从outputbuffer中删除所有行

时间:2017-05-08 20:04:18

标签: sql-server ssis etl xml-validation output-buffering

在我尝试处理特别大的xml文件时,我使用XmlReader循环遍历xml和LINQ to Xml来为文档中的每个xml块创建XElements

在成功解析数据并根据其模式验证数据后,我将数据写入一组SSIS输出缓冲区。如果找到模式错误,我想清除输出缓冲区中的数据以进行文件和中止处理。

我正在使用Outputbuffer.AddRow()向输出缓冲区添加行,但是我看不到删除已添加到缓冲区的行的方法。任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:1)

没有方法可以删除outputbuffer行,在datatablelist(of )中存储行,在添加之前进行验证,如果是,则将列或数据表中的行添加到outputbuffer。< / p>

您可以向输出缓冲区添加布尔列,如果发现架构错误,请将此列设置为True,并使用条件拆分过滤行。

[boolColumn] == False