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