【问题标题】:Query to extract all Paths from ExtensionSettings in SSRS查询以从 SSRS 中的 ExtensionSettings 中提取所有路径
【发布时间】:2021-11-25 22:00:00
【问题描述】:

我需要提取 SSRS 中订阅表的 ExtensionSettings 字段中的路径列表。有人有这个脚本吗?

【问题讨论】:

    标签: sql-server reporting-services


    【解决方案1】:

    我在这里找到了一个不错的脚本:http://www.andrewing.co.uk/parse-ssrs-subscriptions-table/

    WITH S AS (
       SELECT TOP 1000
         [SubscriptionID],
         ExtensionSettings = cast(ExtensionSettings as xml)
       FROM [ReportServer].[dbo].[Subscriptions]
    )
    SELECT
      S.SubscriptionID,
      TransmissionMethod = CASE
     ExtensionSettings.value('(/ParameterValues/ParameterValue/Name)[1]', 'varchar(50)')
            WHEN 'TO' THEN 'Email'
            WHEN 'PATH' THEN 'File Share'
            ELSE 'Unknown' END,
      FileSharePath = ExtensionSettings.query('
            for $parameter in /ParameterValues/ParameterValue
            let $name := $parameter/Name
            let $value := $parameter/Value
            where $name = "PATH"
            return data($value)'),
      FileName = ExtensionSettings.query('
            for $parameter in /ParameterValues/ParameterValue
            let $name := $parameter/Name
            let $value := $parameter/Value
            where $name = "FILENAME"
            return data($value)'),
      RenderFormat = ExtensionSettings.query('
            for $parameter in /ParameterValues/ParameterValue
            let $name := $parameter/Name
            let $value := $parameter/Value
            where $name = "RENDER_FORMAT" or $name = RenderFormat"
            return data($value)'),
      EmailSubject = ExtensionSettings.query('
            for $parameter in /ParameterValues/ParameterValue
            let $name := $parameter/Name
            let $value := $parameter/Value
            where $name = "Subject"
            return data($value)'),
      ExtensionSettings
    FROM S
    

    【讨论】:

    • 这可以做一些优化:例如FileSharePath = ExtensionSettings.query('/ParameterValues/ParameterValue[Name[text() = "PATH"]]/Value/text(),如果你只想要一个值,那么你应该使用.value而不是.query
    猜你喜欢
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2015-07-03
    • 2013-02-20
    相关资源
    最近更新 更多