Каковы правила использования внутренних параметров в SSRS

Есть возможность создать "Внутренние" параметры в SSRS:

  1. В каком контексте они используются?
  2. Каковы общие правила использования внутренних параметров?

person whytheq    schedule 23.03.2012    source источник


Ответы (3)


Внутренние параметры в службах SSRS — это параметры, которые не могут быть изменены конечным пользователем во время выполнения.

Это отличается от скрытого параметра, который пользователю не предлагается указать, но его все же можно настроить с помощью URL-адреса сервера отчетов.

Дополнительные сведения см. в разделе "Создание параметров отчета" в MSDN.

Один из возможных способов их использования — в сочетании с отчетом Управление просмотрщиком. Страница ASP.Net может содержать элемент управления средства просмотра отчетов и использовать внутренние параметры в коде программной части для предоставления в отчет значений, которые конечный пользователь не должен иметь возможности контролировать, например UserID.

Это может помешать пользователю предоставить другой идентификатор пользователя для просмотра данных, которые ему не должны быть разрешены.

Однако если вы используете внутренний параметр в отчете, но хотите, чтобы он оставался функциональным вне элемента управления средства просмотра отчетов, вам нужно указать соответствующее значение по умолчанию. В противном случае отчет нельзя будет использовать в диспетчере отчетов или на сервере отчетов.

person Michael Fredrickson    schedule 23.03.2012
comment
Я играю со способами использования UserId для отчетов, отображаемых через сервер отчетов, для фильтрации информации в отчете в зависимости от того, кто его просматривает. Примеры, которые я нашел до сих пор, не используют скрытые параметры. Будет ли это хорошей ситуацией для использования скрытого параметра? ...Да, но мне нужно указать значение по умолчанию?... По умолчанию может быть переменная UserID? - person whytheq; 24.03.2012
comment
@Whytheq, если вы используете скрытый параметр, пользователь все равно сможет выдавать себя за другого пользователя, отредактировав URL-адрес. - person TomG; 10.06.2014
comment
@TomG спасибо - так что в основном практическое правило заключается в том, что если пользователю никогда не нужно знать значение параметра, то сделать его внутренним? - person whytheq; 10.06.2014
comment
@whytheq Я новичок в этом, поэтому не стал бы давать общий совет. Пока единственное применение, которое я нашел для Internal, — это безопасная передача UserID из одного отчета в другой. Для других скрытых параметров я обычно использую скрытые параметры, которые я могу установить через URL-адрес. - person TomG; 11.06.2014
comment
Это только я, но я не могу установить внутренний параметр в отчете сервера элемента управления Report Viewer? Это работает только для локальной обработки? - person dotjoe; 27.08.2015
comment
@dotjoe Это не должно ограничиваться локальной обработкой ... Я никогда не сталкивался с проблемами, которые вы видите, поэтому вы можете задать новый вопрос с кодом, который вы используете. - person Michael Fredrickson; 29.08.2015
comment
Хорошо, я попробовал еще раз и обнаружил, что когда я развернул отчет с внутренним параметром, определение параметра сервера отчетов нужно было обновить, чтобы проверить скрытие. Не знаю, делает ли это скрытый параметр на сервере и внутренний параметр в отчете? - person dotjoe; 31.08.2015
comment
@dotjoe Попробуйте создать подписку и посмотрите, можете ли вы (пользователь) установить этот параметр. Я предполагаю, что пользователь не должен иметь возможность устанавливать этот параметр. - person Anup Agrawal; 31.08.2015

Если для параметра задано значение Internal, он не отображается никаким образом, кроме как в определении отчета (запросе набора данных или хранимой процедуре). Другими словами, внутренний параметр — это параметр, который нельзя изменить во время выполнения. Конечный пользователь опубликованного отчета никогда не увидит это как параметр. Но издатель может изменить значение параметра в любое время в параметрах управления отчетом. Вы можете найти функциональность внутреннего параметра с примером по этой ссылке: https://sqlserverreportingservices.wordpress.com/2012/11/16/using-internal-parameters-to-filter-data-without-user-intervention/

person Alias Varghese    schedule 30.06.2015

Если вы установите для параметра значение Скрытый, он будет виден, когда пользователь делает подписки на сервере отчетов, но если вы установите для параметра значение Внутренний, пользователь с ролью браузера не сможет его увидеть и изменить.

person Sanja    schedule 20.02.2017