SSRS - ошибка входа - PullRequest
       9

SSRS - ошибка входа

0 голосов
/ 30 мая 2011

Я новичок в SSRS и разработал несколько отчетов по SSRS в веб-фрейме.На моем локальном компьютере все работает на 100%.Но теперь я хочу переместить отчеты и новую страницу на веб-сервер.Мне удалось запустить его на веб-сервере, но по некоторым причинам я думаю, что должен был выполнить настройку конфигурации на SQL Server 2008 SSRS, каждый раз, когда я запускаю отчет, он запрашивает у меня имя пользователя и пароль для источника данных.

Отчет запускается в веб-фрейме, страница была разработана в ASP.NET, и я передаю выбранный на странице параметр в отчет для создания отчета.

Я прикреплю изображениездесь, чтобы проиллюстрировать, что я получаю.Это, наверное, что-то действительно глупое, что я скучаю.Но любая помощь будет принята с благодарностью.
SSRS Error on webpage

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Учетные данные относятся к источнику данных, я немного поработал с ssrs, и я помню, что вы можете установить тип аутентификации при настройке источника данных.

Здесь Вы можете найти полезную информацию.

0 голосов
/ 30 мая 2011

Я использовал этот код в моем проекте, и он работает.Сначала вам нужно создать пользовательский класс учетных данных, который реализует интерфейс IReportServerCredentials.

public class ReportServerCredentials : Microsoft.Reporting.WebForms.IReportServerCredentials
{
    #region private members

    private string _username;
    private string _password;
    private string _domain;

    #endregion

    #region Constructor


    /// <summary>
    /// Initializes itself with ReportServerUsername, ReportServerPassword and ReportServerDomain settings from web.config 
    /// </summary>
    public ReportServerCredentials()
    {
        this._username = "USERNAME";
        this._password = "PASSWORD";
        this._domain = ""; // set if its domain server
    }

    public ReportServerCredentials(string username, string password, string domain)
    {
        this._username = username;
        this._password = password;
        this._domain = domain;
    }

    #endregion

    #region IReportServerCredentials Members

    public bool GetFormsCredentials(out System.Net.Cookie authCookie, out string userName, out string password, out string authority)
    {
        authCookie = null;
        userName = password = authority = null;
        return false;
    }

    public System.Security.Principal.WindowsIdentity ImpersonationUser
    {
        get { return null; }
    }

    /// <summary>
    /// Creates a System.Net.NetworkCredential object with the specified username, password and domain.
    /// </summary>
    public System.Net.ICredentials NetworkCredentials
    {
        get { return new System.Net.NetworkCredential(_username, _password, _domain); }
    }

    #endregion
}

Передайте учетные данные в отчет перед его отображением.

ReportParameter[] param = new ReportParameter[0];

protected void Page_Load(object sender, EventArgs e)
{
    this.ReportViewer1.Reset();
    this.ReportViewer1.ServerReport.ReportServerUrl =
            new System.Uri(ConfigurationManager.AppSettings["ReportServerUrl"]); // reads report server url from config file
    IReportServerCredentials customCred =
            new ReportServerCredentials(); //reads the username, password and domain from web.config
    this.ReportViewer1.ServerReport.ReportServerCredentials = customCred;

    this.ReportViewer1.ServerReport.ReportPath =
        "/PATH_TO_SOME_REPORT"; // TODO: Put some real report path

    this.ReportViewer1.ServerReport.SetParameters(param); // this will initialize report
}
...