【问题标题】:SSRS 2008 R2 Report:Each row from different serverSSRS 2008 R2 报告:来自不同服务器的每一行
【发布时间】:2016-06-21 07:52:18
【问题描述】:

每个国家/地区有多个服务器。我们希望创建显示每个国家/地区计数的报告,如下所示

Select 'UK' as Region,Pending Cards,Active Cards 
from Cardorder where month='June'

如何从不同服务器检索 SSRS 中每一行的结果?

【问题讨论】:

  • 能否使用联合运算符将数据合并到一个查询中?
  • 每个区域来自不同的服务器。我们也没有链接服务器,所以我不能在sqlserver中使用联合运算符
  • 如果你不能用 SQL 解决它,试试这个方法social.technet.microsoft.com/wiki/contents/articles/…
  • 您在这里真正要问的是“我如何将来自两个不同 SQL Server 的数据结合起来”,这里雄辩地描述了答案:stackoverflow.com/questions/3918259/…

标签: sql sql-server ssrs-2008 ssrs-2008-r2 ssrs-2012


【解决方案1】:

如果您无法设置链接服务器,也许这会对您有所帮助。您需要在 sqlcmd 模式(SSMS 2016)或从控制台运行它,并且可以收集所需的数据。我建议将数据存储在临时表中以生成报告。

:connect server_uk -l 120 -U username -P pasword
Select 'UK' as Region,Pending Cards,Active Cards 
from DATABASE.SCHEMA.Cardorder where month='June'
union
:connect server_us -l 120 -U username -P pasword
Select 'US' as Region,Pending Cards,Active Cards 
from DATABASE.SCHEMA.Cardorder where month='June'

【讨论】:

    【解决方案2】:

    最简单的方法是设置链接服务器,尤其是当您要创建更多查询并使用这些数据创建更多报告时。查询如下所示:

    Select 'UK' as Region,Pending Cards,Active Cards 
    from db1.[databasename].[schema].Cardorder where month='June'
    UNION
    Select 'US' as Region,Pending Cards,Active Cards 
    from db2.[databasename].[schema].Cardorder where month='June'
    UNION
    Select 'IND' as Region,Pending Cards,Active Cards 
    from db3.[databasename].[schema].Cardorder where month='June'
    

    等等……

    【讨论】:

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