У меня есть ситуация, когда мне нужно, чтобы мой сервер отчетов был более или менее общедоступным, поскольку мы используем элемент управления ReportViewer в веб-приложении ASP.NET, и группы пользователей будут получать доступ к различным отчетам.
Это будет работать с SQL Server 2008 Standard Edition.
Безопасность будет обеспечиваться путем создания связанных отчетов (по одному для каждого пользователя, опубликованных во время выполнения, когда они запрашивают отчет из нашего веб-приложения), но у меня возникают трудности с программной установкой значений параметров связанного отчета.
В двух словах, отчет имеет небольшое количество зарезервированных имен параметров (например, UserID и LanguageID). Во время выполнения веб-приложение проверит, есть ли у пользователя связанный отчет (используя уникальные имена связанных отчетов для каждого отчета / пользователя), и создаст его, если он не существует.
Это делается с помощью SSRS SOAP API и работает отлично. У меня проблема с настройкой параметров отчета для связанного отчета.
Например, если я вхожу в систему как системный администратор, я просто хочу просмотреть отчет и иметь полное управление параметрами в средстве просмотра отчетов. Если я войду как «низкий» пользователь, я ожидаю, что для параметра UserID будет установлен мой идентификатор в связанном отчете, и я не смогу изменить UserID для отслеживания отчетов других пользователей.
Это можно сделать вручную в диспетчере отчетов, открыв свойства связанного отчета, установив значения параметров по умолчанию и сняв флажок «Приглашение пользователя».
Теперь я пытаюсь сделать это программно, используя SOAP API, и, похоже, не могу найти правильный способ сделать это.
В некоторых местах я читал подсказки о том, что метод CreateLinkedReport может устанавливать параметры, но я начинаю думать, что это просто недоразумение со стороны авторов. Хотя этот метод принимает свойства Property [], эти свойства отображаются только для предоставления метаданных отчета (например, связанного имени отчета).
Существует ли специальная разметка, которую нужно использовать с именем / значениями свойства, чтобы указать, что свойство является параметром отчета?
Любые идеи приветствуются.