我正在手动设置和运行SSRS报告订阅。到目前为止,它的工作状况还不错,但是我需要对报告进行更改,以将参数之一设置为NULL(这是对参数的有效选择,可以选择参数的“所有”选项)。
我无法弄清楚如何将参数传递到XML,以便在执行报告时将其设置为NULL。我可以通过更改报告定义和基础SQL查询来考虑其他解决方法,但希望首先在此处找到解决方案。
例如以下语句不起作用,因为它只是一个空字符串。
UPDATE ReportServer.dbo.Subscriptions
SET parameters = '<ParameterValues><ParameterValue><Name>SomeParameter</Name><Value></Value></ParameterValue></ParameterValues>'
WHERE subscriptionid = @subscription_id
终于找到了。我只需要从XML中完全排除该部分,它将其视为NULL。
UPDATE ReportServer.dbo.Subscriptions
SET parameters = '<ParameterValues><ParameterValue><Name>SomeParameter</Name></ParameterValue></ParameterValues>'
WHERE subscriptionid = @subscription_id
我通过操纵订阅在用户界面中查找所需的方式,然后检查数据库中的XML来发现这一点。