1

伙计们,

有什么方法可以在一个“执行 SQL 任务”中返回两个单独的 XML 文档?

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

如果我有一个只有一个结果变量的“结果集”,这一切都很好——它很好地从被调用的存储过程中返回第一个 xml 并将其映射到变量。当我添加第二个变量时,我得到了错误:

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

这有可能完成这一任务吗?先感谢您。

4

1 回答 1

1

不是直接的。如MSDN中所述:

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

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

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

于 2013-04-02T17:22:32.733 回答