我正在开展一个项目,要求我使用SSIS(2005)XML Task来“压缩”传入的(实际上很多传入的)XML文件,然后将新创建的XML文件导入SQL Server。
我已经完成了许多文件,但是一些交付的文件非常庞大,以至于在开发模式下无法调整XSL文件,然后等待运行以查看是否创建了所需的“扁平化”XML文件。
SSIS XML任务是否有办法限制它处理的记录数量或限制此开发过程的任何方式?
答案 0 :(得分:0)
首先回答实际问题:否.XML任务无法限制通过其转换的行数。它必须使用传递给它的整个XML文档,以确保它是有效的。
两个解决方法:
下载XML文件并编写一个打开文件的脚本任务,并使用LINQ或XMLDocument功能将XML文档过滤到更易管理的元素数量,然后将该文档保存回临时文件位置或将其存储到String类型的SSIS变量中。
或者,您也可以下载XML文件并使用SQL的OPENXML功能和FOR XML子句将Execute SQL任务中的XML返回到变量并将其用作源。但是,主要的缺点是打开XML文档,过滤它并以相同的格式返回它会非常棘手。
然后只使用新文件(或SSIS变量)作为XML任务中的源。