SSIS 2005多个XML文档

时间:2013-04-02 10:24:35

标签: xml ssis resultset

伙计,

有没有办法可以在一个'执行SQL任务'中返回两个单独的XML文档?

1)创建一个返回两个单独的XML文档的存储过程 2)配置“执行SQL任务”,使其具有: - ADO.NET连接管理器, - 它调用存储过程, - 它将resultSet设置为'XML', - 并在'结果集'栏上输出映射到两个单独的字符串变量:例如: ResultName:0 - VariableName:firstVar, ResultName:1 - VariableName:secondVar;

如果我的'Result Set'只有一个结果变量,那么一切正常 - 它很好地从被调用的存储过程中返回第一个xml并将其映射到变量。 当我添加第二个变量时,我得到错误:

[执行SQL任务]错误:为ResultSetType返回的结果绑定数量无效:“ResultSetType_XML”。

这可以实现这一任务吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

不直接。如MSDN中所述:

  
      
  • 当查询以XML格式返回结果集时,将使用 XML 结果集。例如,此结果集用于包含FOR XML子句的SELECT语句。
  •   
     

如果执行SQL任务使用完整结果集结果集并且查询返回多个行集,则该任务仅返回第一个行集。如果此行集生成错误,则任务将报告错误。如果其他行集生成错误,则任务不会报告它们。

但是,正如您所指出的,您可以编写一个存储过程来运行您的两个查询,将结果存储在内部作为字符串,然后将结果作为OUTPUT参数返回。或者,当然,您可以构建两个执行SQL任务。