【问题标题】:SSRS ReportServer list all reports located in a folder (recursive)SSRS ReportServer 列出位于文件夹中的所有报告(递归)
【发布时间】:2023-03-07 06:34:01
【问题描述】:

我想从[dbo].[Catalog] 表中生成位于ReportServer 数据库文件夹中的所有报告的列表。

我也想包含任何可能列在任何子文件夹中的报告。

-Root
-Report: Three
-Folder: Demo
   + Report: One
   - SubFolder: Sample
      + Report: Two 

在此示例中,如果我选择了来自 Folder: Demo 的所有报告,我将只返回 Report: OneReport: Two

【问题讨论】:

    标签: sql-server-2008 tsql reporting-services sql-server-2008-r2 ssrs-2008


    【解决方案1】:

    为什么不在Path 列中搜索特定文件夹?

    declare @folder varchar(256) = 'Demo'
    
    select Name
    from Catalog
    where Path + '/' = '/' + @folder + '/'
    

    通过将 / 添加到 Path 和消除部分匹配的变量。

    如果文件夹结构中有多个同名文件夹可能并不完美,但任何方法都会有类似的问题需要克服。

    【讨论】:

    • 我考虑过这样做作为最后的手段,因为它可能会被其他地方添加同名文件夹的人破坏。我开始研究 CTE 以递归方式构建树,但我还没有运气。
    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多