Службы Reporting Services, как использовать строку подключения из результата запроса

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

Я хочу сообщить, что

  1. Принимает имя сайта в качестве параметра
  2. Запросы строки подключения к сайтам
  3. Использует строку подключения к сайтам для получения данных отчета

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

=First(Fields!ConnectionString.Value, "SiteDetails")

Однако когда я запускаю отчет, я получаю:

[rsFieldInQueryParameterExpression] Выражение, используемое для параметра «SiteDataSource» в наборе данных «SiteDataSource», относится к полю. Поля нельзя использовать в выражениях параметров запроса.

Есть ли способ обойти это, используя строку подключения из базы данных?

Я использую службы отчетов SQL Server 2008.


person Sophia    schedule 14.07.2009    source источник


Ответы (2)


У меня это работало в SSRS 2005, сохраняя строку подключения в скрытом параметре отчета, а затем устанавливая строку подключения для второго запроса с использованием этого параметра.

person Ed Harper    schedule 14.07.2009

Некоторое время назад я написал в блоге сообщение о чем-то подобном, возможно, оно вам пригодится - http://www.beakersoft.co.uk/2008/06/22/setting-a-data-source-at-runtime-on-sql-reporting-services/

person beakersoft    schedule 14.07.2009