Могу ли я изменить источник данных модели отчета во время выполнения - PullRequest
3 голосов
/ 19 марта 2010

У меня есть несколько специальных отчетов, разработанных для некоторых моделей отчетов, которые опубликованы на сервере отчетов (мы используем SSRS 2008). Все работает хорошо. Сейчас в нашей производственной среде у нас около сорока (40) клиентов, которые имеют свою собственную базу данных (у каждого одинаковые структуры таблиц и другие объекты базы данных). Теперь проблема заключается в том, что всякий раз, когда клиент входит на сервер отчетов, используя проверку подлинности Windows и пытаясь просмотреть эти отчеты, нам нужно получать данные SQL только из соответствующей базы данных. Отчеты разрабатываются с использованием модели отчетов, и каждая модель имеет действительный источник данных, который связан с определенной базой данных. Мы можем создать сорок отдельных источников данных, каждый из которых будет связан с конкретной базой данных. У меня вопрос: есть ли способ, с помощью которого мы можем динамически изменить имя источника данных модели отчета или во время выполнения на основе имени клиента, чтобы во время выполнения отчета SSRS получал данные из правильной базы данных, но не из любой другой базы данных.

Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 18 апреля 2012

Я не думаю, что есть способ указать во время выполнения источник данных, потому что источник данных является частью определения отчета (.rdl), и он имеет некоторую безопасность, предотвращая метод типа «найди и замени» , Однако в службах SSRS доступны функции (например, для поиска ReportingService2010.cs) в приложениях .NET, которые позволяют вам устанавливать источник данных. Я знаю, что в прошлом я работал над проектом, в котором мы развернули, используя собственное приложение .NET, которое использует эти вызовы для установки источника данных при публикации. Это было для SSRS 2005.

В другом проекте, который я выбрал, это публикация с использованием публикации BIDS. Мы заметили, что если у вас уже есть отчет, опубликованный в среде с набором источников данных, который при повторной публикации с использованием BIDS в одном и том же месте сохранит информацию об источнике данных (даже если он отличается от источника разработки). Это было с использованием SSRS 2008R2.

...