我可以在SSRS中跨数据源“加入”吗?

时间:2010-10-14 19:57:43

标签: sql-server oracle reporting-services join

我有两个数据源,一个Oracle和一个Sql Server。由于我之前的情况(就像我发现它时的情况一样),Oracle数据库中的某些列包含来自Sql Server数据库中查找表的PK。

我正在尝试创建一个Sql Server Reporting Services报告,该报告将合并来自Oracle和Sql Server数据库的数据;要报告的数据部分来自Oracle,但需要在Sql Server中查找一些值。

我有数据源。我有DataSet。我无法弄清楚如何在同一个表格报告中显示两个数据集。

这可能吗?如果是这样怎么回事?我宁愿不在一个或其他数据库中使用数据库链接,因为我想在报告方面处理这个问题。

5 个答案:

答案 0 :(得分:5)

我认为您不能直接加入,但您可以通过使用第一个数据源中的外键作为参数来添加将查询第二个数据源的子报表。请参阅:How to: Add a Subreport and Parameters (Reporting Services)

答案 1 :(得分:3)

您还可以尝试使用Tablix中的Lookup和Lookupset函数。

Lookup是1对1连接,而Lookupset是1到1,如果你想要一组字符串输出,可能需要你连接数据。

对于Lookup,以下内容来自MSDN网站,并为我的简单思维进行了一些调整

Lookup(Field you are joining from, Field you are joining to, Field you want back, Dataset of the field you want back)

Tablix应链接到源的数据集(从中加入)。

刚刚意识到这是从2010年开始,而不是2014年...所以这是一个死灵帖子!

答案 2 :(得分:1)

您还可以在另一个表中嵌入一个表,并将主键传递给嵌入表。

答案 3 :(得分:1)

您可以创建一个包含两个实例数据的链接服务器。从SSRS的角度来看,您将拥有一个数据源。

答案 4 :(得分:0)

您可以使用异构服务或oracle透明网关从oracle端运行报告。 Oracle可以从SQL端查询数据。