【问题标题】:Query to find the ssrs reports that has embedded datasource查询以查找具有嵌入数据源的 ssrs 报告
【发布时间】:2017-07-23 09:04:16
【问题描述】:

我在 MSSQL 报告服务器中部署了数百个报告。其中很少有报告具有嵌入式数据源,其余报告具有共享数据源。是否有任何查询或简单的方法来区分具有共享和嵌入数据源的报表?

【问题讨论】:

标签: reporting-services ssrs-2008 ssrs-2008-r2 ssrs-2012 reportingservices-2005


【解决方案1】:

您可以使用以下查询:

WITH XMLNAMESPACES(DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition')

SELECT C.Name,
    CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)).exist('/Report/DataSources/DataSource/ConnectionProperties') AS EmbeddedSourcePresent,
    CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)).exist('/Report/DataSources/DataSource/DataSourceReference') AS SharedSourcePresent
FROM ReportServer.dbo.Catalog C
     WHERE C.Content is not null
      AND C.Type = 2

您可能需要根据您的 ssrs 版本更改命名空间。我希望这会有所帮助。

【讨论】:

  • 我不得不使用它来绕过无效的 XML 字符:CAST(REPLACE(REPLACE(REPLACE(CAST(CONVERT(VARBINARY(MAX),C.Content) as varchar(max)),' &','&'),'''','''),'', '') AS XML).exist('/Report/DataSources/DataSource/ConnectionProperties') AS EmbeddedSourcePresent跨度>
猜你喜欢
  • 2017-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多