伙计,
有没有办法可以在一个'执行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”。
这可以实现这一任务吗? 提前谢谢。
答案 0 :(得分:1)
不直接。如MSDN中所述:
- 当查询以XML格式返回结果集时,将使用 XML 结果集。例如,此结果集用于包含FOR XML子句的SELECT语句。
如果执行SQL任务使用完整结果集结果集并且查询返回多个行集,则该任务仅返回第一个行集。如果此行集生成错误,则任务将报告错误。如果其他行集生成错误,则任务不会报告它们。
但是,正如您所指出的,您可以编写一个存储过程来运行您的两个查询,将结果存储在内部作为字符串,然后将结果作为OUTPUT参数返回。或者,当然,您可以构建两个执行SQL任务。