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

时间:2014-12-12 08:41:19

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

我有2个数据源(db1,db2)和2个数据集。 2个数据集是来自每个数据源的存储过程 数据集1必须首先运行才能创建数据集2的表以进行更新和显示(数据集1也将显示结果)。
因为表的数据必须基于DB1中的某个表,存储过程将使用链接服务器为db2创建一个表。
我在网上搜索并尝试了#34;单笔交易"在数据源中,但它在数据集1中显示错误而没有详细信息 无论如何要做到这一点?因为我想为这个结果生成一张带2张的excel。

1 个答案:

答案 0 :(得分:1)

请查看此post

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

有多个datsources,它有点棘手!

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

  

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

     

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

     

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

     

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

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

希望这会有所帮助。