【问题标题】:SSRS: How can I run dataset1 first in datasource1 then run dataset2 in datasource2SSRS:如何先在 datasource1 中运行 dataset1,然后在 datasource2 中运行 dataset2
【发布时间】:2015-02-10 22:25:18
【问题描述】:

我有 2 个数据源(db1、db2)和 2 个数据集。 2 个数据集是来自每个数据源的存储过程。
数据集 1 必须首先运行才能为数据集 2 创建表以更新和显示(数据集 1 也会显示结果)。
由于表的数据必须基于 DB1 中的某个表,存储过程会使用链接服务器创建一个表到 db2。
我在网上搜索并在数据源中尝试了“单一事务”,但它在数据集 1 中显示错误,没有详细信息。
有什么办法吗?因为我想为此结果生成一个带有 2 张表的 excel。

【问题讨论】:

    标签: excel reporting-services dataset ssrs-2008 ssrs-tablix


    【解决方案1】:

    看看这个post

    SSRS 的默认行为是同时运行数据集。它们按照它们在您的 rdl 中出现的顺序运行(在报告数据区域中查看时自上而下)。更改具有多个数据集的单个数据源的行为就像单击数据源对话框中的复选框一样简单。

    使用多个数据源有点棘手!

    这是上面发布的 MSDN 博客的解释:

    使用多个数据源时序列化数据集执行:

    请注意,使用不同数据源的数据集仍将并行执行;使用单一事务设置时,仅对同一数据源的数据集进行序列化。如果您需要跨不同数据源链接数据集执行,还有其他选项需要考虑。

    例如,如果您的数据源的源数据库都驻留在同一个 SQL Server 实例上,您可以只使用一个数据源进行连接(打开单个事务),然后使用三部分名称(catalog. schema.object_name) 来执行查询或调用不同数据库中的存储过程。

    另一个需要考虑的选项是 SQL Server 的链接服务器功能,然后使用四部分名称 (linked_server_name.catalog.schema.object_name) 执行查询。但是,请务必仔细阅读链接服务器上的文档,以了解其性能和连接凭据的含义。

    这是一个有趣的问题,虽然我认为可能有另一种方法,但需要一些时间来处理您的数据集以及有关数据源设置的更多信息。

    希望这会有所帮助。

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
    • @theMayer 够公平
    • 我很高兴你能弄清楚他在问什么,因为我肯定不能!
    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2021-10-04
    • 2019-07-04
    • 1970-01-01
    • 2017-10-22
    • 2021-12-18
    相关资源
    最近更新 更多