0

我正在手动设置和运行 SSRS 报告订阅。到目前为止它运行良好,但我需要对报告进行更改以将其中一个参数设置为 NULL(这是选择参数的“所有”选项的参数的有效选择)。

我无法弄清楚如何将参数传递到 XML 中,以便将其设置为 NULL 以执行报告。我可以通过更改报表定义和基础 SQL 查询来考虑其他解决方法,但希望首先在这里找到解决方案。

例如,下面的语句不起作用,因为它只是一个空字符串。

UPDATE ReportServer.dbo.Subscriptions 
     SET parameters = '<ParameterValues><ParameterValue><Name>SomeParameter</Name><Value></Value></ParameterValue></ParameterValues>'
WHERE subscriptionid = @subscription_id
4

1 回答 1

0

终于找到了。我只需<Value></Value>要从 XML 中完全排除该部分,并将其视为 NULL。

UPDATE ReportServer.dbo.Subscriptions SET parameters = '<ParameterValues><ParameterValue><Name>SomeParameter</Name></ParameterValue></ParameterValues>' WHERE subscriptionid = @subscription_id

我通过操纵订阅以在用户界面中查看我想要的方式,然后检查数据库中的 XML 来发现这一点。

于 2020-04-07T19:24:52.377 回答