【问题标题】:SSRS report builder 2.0 How to link 2 servers and run in one datasetSSRS 报表生成器 2.0 如何链接 2 个服务器并在一个数据集中运行
【发布时间】:2013-12-28 22:14:30
【问题描述】:

我正在尝试在 SSRS 报告生成器 2.0 中找到一种链接来自两台服务器的数据的方法

最终使用一个数据集查询 2 个不同服务器中的 2 个数据库。

我拥有的 SQL 非常基本,如下所示,我可以在 SQL 管理工作室中轻松运行查询。

select * from
[server1].[DES].[dbo].[Daily] dr 
LEFT JOIN [server2].[VES].[dbo].[Rou] mr
ON dr.ID = mr.id

此外,我对报告服务器的访问权限是只读的,因此我无法对配置进行任何管理更改。

我已经探索了连接字符串来创建连接,但它只允许我为每个数据集连接到一个服务器。我想做的是使用一个数据集

任何帮助将不胜感激,因为我是 SQL 和 SSRS 的初级人员

使用 SSRS 和 MS SQL 2008 R2

【问题讨论】:

    标签: sql sql-server reporting-services ssrs-2008 report-builder2.0


    【解决方案1】:

    如果您从 SSMS 执行此查询,则表示此其他服务器 是一个链接服务器。那么执行它应该没有什么不同 SSRS。

    是的,您只能将一台服务器添加到您的数据源 您的数据集是共享数据源还是嵌入式数据集。

    但是例如,如果您有一个指向服务器 A 的数据源 当您执行将从服务器 A 提取数据的查询时 并且还从服务器 B 中,您将使用完全限定名称 来自服务器 B 的对象和来自服务器 A 的两部分名称。

    类似这样的...

    SELECT * 
    FROM Schema.Table_Name A INNER JOIN [ServerNameB].DataBase.Schema.TableName B
    ON A.ColumnA = B.ColumnA
    

    显然ServerB 必须是Linked Server

    【讨论】:

      【解决方案2】:

      我能想到两种可能的解决方案

      选项 1: 在 server1 上创建存储过程(通过查询访问另一台服务器)。并从 SSRS(数据集)调用此存储过程。

      选项 2: 在 RDL 上创建两个具有两个不同连接字符串的数据集(一个用于 Server1,另一个用于 Server2)。 使用 Report Builder 中的“LookUpDataSet”函数使用关键字段合并结果。

      选项 2 更可取。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多