s-s-rS 报表生成器 2.0 如何链接 2 个服务器并在一个数据集中运行

Posted

技术标签:

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

我正在尝试在 s-s-rS 报告生成器 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 和 s-s-rS 的初级人员

使用 s-s-rS 和 MS SQL 2008 R2

【问题讨论】:

【参考方案1】:

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

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

但是例如,如果您有一个指向服务器 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 上创建存储过程(通过查询访问另一台服务器)。并从 s-s-rS(数据集)调用此存储过程。

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

选项 2 更可取。

【讨论】:

以上是关于s-s-rS 报表生成器 2.0 如何链接 2 个服务器并在一个数据集中运行的主要内容,如果未能解决你的问题,请参考以下文章

如何使用分组和分页符来创建双面 s-s-rS 徽章报告? (Microsoft SQL Server 2012 报表生成器)

在 s-s-rS 报告中使用 2 个子报告或 2 个 tablix 哪种方法更好?

s-s-rS 报表上的链接以导出/呈现到 Excel

无法在 s-s-rS 和 SQL Server 报表生成器中运行或预览报表

s-s-rS 报表生成器在我身上崩溃,现在它不会重新打开报表

在 s-s-rS Power BI 报表生成器中添加百分比差异的总数