Report Builder 3.0 - Учетные данные Dataset не работают
Я использую SSRS 2008 R2 и построитель отчетов 3.0. Я установил общий источник данных через браузер (http://myserver/reports/), где "учетные данные надежно хранятся в сервере отчетов" для использования с несколькими отчетами. Тестирование соединения через браузер работает.
Теперь я запускаю Report Builder 3.0. Я начинаю новый отчет и "Добавить источник данных". Я выбираю "Использовать совместное подключение", перейдите на сервер и выберите вышеуказанный источник данных. Нажмите "Проверить соединение", и все будет хорошо.
Затем я пытаюсь "Добавить набор данных". В диалоговом окне я выбираю "Использовать набор данных, встроенный в мой отчет", я выбираю свой источник данных, добавленный выше, введите строку SQL и нажмите "ОК". Появится "Введите учетные данные источника данных". Независимо от того, какая переменная действительного домена (например, учетная запись администратора домена и другие) или учетные данные SQL Server (например, учетная запись "sa" ), а также флажки, которые я использую, я получаю "Не удается подключиться к источнику данных".
Параметры безопасности в общем источнике данных позволяют BUILTIN\администраторам и домену\управлять всеми ролями. Источник данных работает, поскольку некоторые устаревшие перенесенные отчеты работают нормально. Построитель отчетов говорит, что источник данных подключается нормально. Но я не могу создавать новые отчеты или изменять существующие.
Любые предложения?
Ответы
Ответ 1
После долгих скрежетов и воплей кажется, что Report Builder использует информацию в определениях в сервере отчетов, чтобы затем запускать запросы локально самостоятельно, а не через службы Reporting Services.
Моя ошибочная уверенность заключалась в том, что когда я делал что-то вроде Refresh Fields при настройке набора данных, построитель отчетов работал через Report Services, чтобы получить соответствующие выходные и/или метаданные. Это, похоже, не так.
Я определил строку подключения общего источника данных как Data Source=(local);Initial Catalog=<database name>
. Теперь это работает, когда вы находитесь в интерфейсе браузера Reporting Services, но построитель отчетов, похоже, читает строку подключения и использует ее для себя. Службы Reporting Services на моей локальной машине разработки не имеют никакой настройки на целевом сервере, на котором запущены эти отчеты, поэтому что-либо, которое я использовал бы, не будет выполнено.
Изменение строки подключения на Data Source=<server name>;Initial Catalog=<database name>
вместо локального хоста позволило корректно работать с построителем отчетов. (RB все же выскочил "Введите учетные данные источника данных". Я использовал учетные данные Windows, который является допустимым логином на целевом сервере.)
Ответ 2
Чтобы выполнить то, что вы пытаетесь, это звучит так, как будто вам нужно будет использовать встроенную защиту Windows.
В соответствии с MSDN сохраненные учетные данные не передаются клиентским приложениям. Они предназначены для использования только сервером отчетов для таких вещей, как запланированные отчеты.
http://msdn.microsoft.com/en-us/library/ms159736.aspx
Я могу сказать, что приглашение "Введите учетные данные источника данных" ищет проверку подлинности SQL, а не учетные записи домена.
Ответ 3
Выдающийся вопрос и ответ. Я очень ценю ваше тщательное описание. У меня такая же проблема. В моем случае проблема заключалась в том, что я обращался к построителю отчетов с компьютера, подключенного к моему домашнему офису через VPN. Наверное, потому что я был вне сети Windows в домашнем офисе, РБ не смог аутентифицировать меня. Работа с удаленным рабочим столом, подключенным к машине в офисе, позволила мне устранить проблему. Ваши ответы и @RichShealer напомнили мне, что при запуске отчетов из браузера их обслуживает внутренняя серверная машина. Это не тот случай, когда вы запускаете RB, настольное приложение.