SSRS:如何在datasource1中首先运行dataset1,然后在datasource2中运行dataset2

我有2个数据源(db1,db2)和2个数据集。 2数据集是来自每个数据源的存储过程。
数据集1必须先运行,为数据集2创build一个表来更新和显示(数据集1也将显示结果)。
导致表的数据必须基于DB1中的某个表,存储过程将使用链接服务器为db2创build一个表。
我在网上search,在数据源中尝试过“单个事务”,但在数据集1中显示错误,没有详细信息。
有没有办法呢? 因为我想为这个结果生成2张表格的excel。

看看这个post 。

SSRS的默认行为是同时运行数据集。 它们按照它们在您的rdl中显示的顺序运行(在报告数据区域中查看它时自上而下)。 使用多个数据集更改单个数据源的行为与单击数据源对话框中的checkbox一样简单。

有了多个数据源,这有点棘手!

这里是从上面张贴的MSDN博客的解释:

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

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

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

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

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

希望这有助于。