1

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

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

我拥有的 SQL 非常基本,如下所示,我可以在 SQL Management Studio 中轻松运行查询。

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

4

2 回答 2

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.

于 2013-12-28T23:52:19.677 回答
1

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

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

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

选项 2 更可取。

于 2013-12-29T10:27:42.157 回答