Я настроил SSRS на своем localhost и использовал ПОПЫТКИ создать несколько отчетов о них. Они получают доступ к данным из того же SQL Server, где SSRS развертывается, и когда я предварительно просматриваю их, они хорошо работают. Затем я развернул их на своем localhost SSRS и получил доступ к ним через веб-интерфейс ReportManager, снова они работали очень хорошо. Наконец я развернул их на SSRS своего поставщика услуг хостинга. То же соглашение; хорошая возможность соединения данных и это выглядят большими в ReportManager.
В первый раз, когда я получаю доступ к ним через ReportManager в любой системе, он требует моего имени пользователя и пароля, который на моем ноутбуке является просто моим входом в систему учетной записи и паролем. Для моего поставщика услуг хостинга это - мой вход в систему учетной записи для них.
Моя проблема состоит в том, когда я пытаюсь отобразить отчет с помощью управления ReportViewer в ASP.NET. Очень часто, когда это пытается представить, я получаю "Плохой Вход в систему" или "401: Несанкционированный" вместо моего отчета. После большого чтения и обдумывания, я полагаю, что проблема состоит в том, что я должен войти в систему не SQL Server, но веб-сайта (веб-сервис?), где мои отчеты выставляются. Прямо сейчас, если я не обеспечиваю учетных данных вообще, я могу получить свои локальные отчеты в ReportViewer (обычно). Однако, когда я развертываю отчеты удаленному серверу, это больше не работает.
После некоторого исследования я создал класс, который реализует IReportServerCredentials и пытался использовать его для передачи в имени пользователя и пароле, но это, кажется, не работает. И это смущало меня, как ли эти учетные данные, предполагается, для источника данных или для веб-сервиса.
Если кто-либо мог подсказка меня в о том, как заставить ReportViewer входить в систему веб-сервиса SSRS, я буду весьма признателен за его.
Предполагая, что вы установили PhangineMode = «Удаленный» attirbute на зритель, то у вас, вероятно, есть проблема аутентификации. При использовании просмотра отчета в удаленном режиме отчет выполняется на SSRS с помощью учетной записи ASP.NET под управлением. Эта учетная запись должна иметь доступ к серверу отчетности и к отчету, которое вы хотите запустить. Что, вероятно, происходит, так это то, что ASP.NET работает под учетной записью, которая не имеет доступа к SSRS.
Если вы хотите установить учетные данные для просмотра отчетов, посмотрите этот поток для решения и примерного кода.
Всегда вызов удаленно сложно отлаживать проблемы аутентификации удаленно, но вы сможете решить вашу проблему, позволяя подражать вам amppool. Таким образом, когда пользователь вошел в систему, IIS сможет подключиться к SQL Server в качестве своего пользователя.
Другой подход может быть использовать аутентификацию SQL; К сожалению, детали зависят от того, как у вас есть вещи.