Почти все в службах Reporting Services является выражением, включая SQL-выражение набора данных. Это означает, что это может быть изменено на лету. Предполагая, что используемые вами учетные данные источника данных могут получить доступ к базам данных, к которым вы хотите получить доступ, вы просто предоставляете базу данных в качестве параметра, и все готово. Конечно, для баз данных на других серверах вам нужно будет использовать связанные серверы, чтобы сервер, к которому вы подключаетесь, мог связываться с другим сервером для доступа к базе данных.
У нас есть таблица с удобным для пользователя именем для базы данных, например «Конец финансового года 2009», в которой содержится имя базы данных для этих данных. Создайте набор данных, чтобы использовать его в качестве параметра - отобразите красивое имя в качестве метки и получите строку соединения сервер + имя базы данных из значения.
Тогда ваш набор данных выглядит так:
="SELECT * FROM " & Parameters!Database.Value & "TableName"
Это предполагает, что базы данных имеют ту же структуру, что и потребности отчета.
Вы должны установить поля вручную, но это дает вам гибкость.