#sql-server #reporting-services #connection-string
Вопрос:
Я использую SQL Server и SSRS 2017.
Когда я развертываю коды C#, я могу использовать файл .config для установки переменных по-разному в зависимости от среды, например:
On DEV, the variable MyDBConString in the config file = Data Source=MyDEVSQLServer;Initial Catalog=MyDB On UAT, the variable MyDBConString in the config file= Data Source=MyUATSQLServer;Initial Catalog=MyDB
Как я могу сделать это с SSRS, потому что нет файла .config.
Когда он развертывает файл .rds (источник данных), он устанавливает его в строку подключения, которая у меня есть в Visual Studio (например: Источник данных=MyDEVSQLServer;Начальный каталог=MyDB).
Итак, когда я перехожу к самому отчету, строка подключения к источнику данных имеет значение Источник данных=MyDEVSQLServer;Начальный каталог=MyDB
Как я могу развернуть SSRS так, чтобы .rds отличался в зависимости от среды ?
Спасибо
Комментарии:
1. Не развертывайте свой общий источник данных… сохраняйте это как уникальный сайт.
2. Альтернативно… разверните одну и ту же строку подключения во всех средах и используйте псевдоним для конкретного приложения, например: SsisDataSource, в диспетчере конфигурации SQL Server каждой среды gt; Конфигурация собственного клиента SQL gt;gt; Псевдонимы.
3. Как и предполагал Дейл К. Лучше использовать общие источники данных. Если они имеют одинаковое имя как на вашем сервере разработки, так и на рабочем сервере, то при развертывании отчета он будет использовать источник данных с этим именем.
By default
источники данных НЕ перезаписываются при развертывании отчетов, поэтому после настройки общих источников данных в каждой среде больше делать нечего.
Ответ №1:
Выражение может быть использовано в Источнике данных для построения последовательности соединений на основе параметра.
Создайте текстовый параметр для среды.
Создайте новый набор данных. Нажмите на кнопку Выражения [Fx], чтобы открыть конструктор выражений.
Создайте инструкцию SWITCH, которая создает строку подключения для каждой возможности выбранного параметра.
Для этого примера у нас были одинаковые имя пользователя и пароль для каждой среды, но их можно добавить в отдельные строки для среды.
Комментарии:
1. Как уже упоминали другие, правильный способ сделать это-иметь отдельные серверы разработки и разработки с разными строками подключения, которые указывают на одну и ту же среду.