代码之家  ›  专栏  ›  技术社区  ›  dkackman

我可以跨SSR中的数据源“加入”吗?

  •  9
  • dkackman  · 技术社区  · 14 年前

    我有两个数据源,一个Oracle和一个SQL服务器。由于早于我的情况(就像我找到它时的情况一样),Oracle数据库中的某些列包含来自SQL Server数据库中查找表的pk。

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

    我有数据源。我有数据集。我只是不知道如何在同一个表格报表中显示这两个数据集。

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

    5 回复  |  直到 7 年前
        1
  •  5
  •   Joe Stefanelli    14 年前

    我不认为您可以直接联接,但是您可以添加一个子报表,该报表将使用第一个数据源的外键作为参数来查询第二个数据源。见: How to: Add a Subreport and Parameters (Reporting Services) .

        2
  •  3
  •   user3644997    10 年前

    您还可以尝试在Tablix中使用lookup和lookupset函数。

    lookup是1对1的联接,lookupse是1对多的联接,如果需要一组字符串,可能需要将数据连接起来。

    下面是从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年…所以一个NECRO的职位!

        3
  •  1
  •   DForck42    14 年前

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

        4
  •  1
  •   Luis Gouveia bummi    7 年前

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

        5
  •  0
  •   erbsock    14 年前

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