Вы хотите передать полную строку подключения в отчет в качестве параметра?Вы можете сделать это, но иногда SSRS смешно и убедитесь, что вы удаляете отчет с сервера перед развертыванием новой копии при этом ...
1. Создайте параметр - давайте назовем нашу connectionStr.Сделайте так, чтобы он не был пустым, не пустым, выделил один и текст в качестве типа данных.В конце концов, вы захотите скрыть этот параметр, но для тестирования оставьте его видимым.
2. Таким образом, значение, которое вы будете использовать в качестве строки подключения ... (для тестирования я установил его в качестве значения по умолчанию для параметра, но в разделе доступных значений ничего не указывалось)
Источник данных = MySQLServerName; Начальный каталог = MyDatabaseName; Персистентная информация о безопасности = True; ID пользователя = MyUserNameForTheServer; Пароль = MyPasswordForTheServer; MultipleActiveResultSets = True
3.Вам нужна автоматическая учетная запись выполнения на вашем сервере отчетов, или вы получаете это: автоматическая учетная запись выполнения не указана.(RsInvalidDataSourceCredentialSetting).
http://msdn.microsoft.com/en-us/library/ms156302.aspx Я не могу предоставить более подробную информацию, потому что мой босс должен был сделать эту часть для меня.
4. В свойствах вашего источника данных в SSRS ... установите флажок Embedded Connection, выберите тип (у меня обычный MS SQL Server), для строки подключения откройте окно выражения.и поместите: = Parameters! connectionStr.value, а затем нажмите учетные данные и убедитесь, что выбран последний параметр без учетных данных.
5. Ваши наборы данных для этого источника данных больше не будут удовлетворены, когда вы попытаетесь редактировать их в режиме конструктора, но вы можете переключить свойства подключения источника данных обратно к тому, как они были, не используяСтрока подключения на основе параметров, для их редактирования.
Мои отчеты находятся на разных серверах, а также на разных экземплярах сервера отчетов.На некоторых серверах им нужно получать свои данные из разных баз данных, в зависимости от того, что угодно.Таким образом, используя строку подключения в качестве параметра, я могу использовать одни и те же отчеты везде и просто развертывать их на разных серверах.Если вам нужно передать эту строку подключения вокруг вашего приложения или средства просмотра отчетов, я предлагаю использовать шифрование.
Как я уже сказал ... SSRS становится смешным, когда вы начинаете это делать.После этого ваши отчеты должны всегда работать в режиме предварительного просмотра, если они не работают даже при наличии правильных строк подключения, то у вас есть проблема, которая не будет решена простым развертыванием на сервере.Устранение неполадок, связанных с этим, когда они находятся на сервере, но не работают, включают проверку разрешений, проверку правильности строки подключения и выполнение всех ваших хранимых процедур и функций в базе данных SQL.
Если вы хотите просто передать имя базы данных и все остальное - то же самое (имя сервера, имя пользователя, пароль), тогда просто установите параметр строки подключения, равный вашему имени базы данных, и для значения выражения источника данных используйте
="Data Source=MySQLServerName;Initial Catalog=" + Parameters!connectionString.value + ";Persist Security Info=True;User ID=MyUserNameForTheServer;Password=MyPasswordForTheServer;MultipleActiveResultSets=True"
Мне нужно было передать все целиком, и вы можете поиграть с настройками учетных данных - вы можете сохранить информацию об имени пользователя и пароле сервера для каждого отчета, чтобы учетная запись автоматического выполнения былане нужно.