Ручная настройка параметров подписки на отчет SSRS и желание установить для параметра значение NULL

Я вручную устанавливаю и запускаю подписку на отчет SSRS. До сих пор он работал нормально, но мне нужно внести изменения в отчет, чтобы установить для одного из параметров значение NULL (это допустимый выбор для параметра, чтобы выбрать «Все» параметры параметра).

Я не могу понять, как передать параметр в XML, чтобы он был установлен в NULL для выполнения отчета. Я могу придумать другие обходные пути, изменив определение отчета и базовые SQL-запросы, но надеялся сначала найти решение здесь.

например Приведенный ниже оператор не работает, так как это просто пустая строка.

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

person Neil Galloway    schedule 06.04.2020    source источник
comment
Попробуйте IsNull=True для значения. Это то, что я использую для передачи нулевого значения параметру в URL-адресе.   -  person aduguid    schedule 07.04.2020
comment
Я пробовал использовать IsNull=True, но мне это не нравится. Отчет не отправляется, и подписка отключена с результатом Подписка содержит недопустимые значения параметров.   -  person Neil Galloway    schedule 07.04.2020


Ответы (1)


Выяснил наконец. Мне просто нужно было полностью исключить раздел <Value></Value> из XML, и он обрабатывает его как NULL.

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

Я обнаружил это, изменив подписку, чтобы она выглядела так, как я хотел, в пользовательском интерфейсе, а затем изучив XML из базы данных.

person Neil Galloway    schedule 07.04.2020