从SSRS服务器加载SSRS报告时出错

时间:2018-06-18 12:04:24

标签: c# reporting-services reporting ssrs-2016

在我的mvc项目中,报告部署在单独的SSRS服务器上,我们在iframe的帮助下加载SSRS报告,问题在于它在使用iframe访问报告时询问用户名和密码。要删除用户ID和密码提示,我试图实现this link上提供的解决方案 我更改了ReportTemplate.aspx.cs文件中的代码,如下所示,以发送引用this link的凭据:

    rvSiteMapping.Width = 800;
    rvSiteMapping.Height = 600;
    rvSiteMapping.ProcessingMode = ProcessingMode.Remote;
    IReportServerCredentials irsc = new CustomReportCredentials(@"userid", "password", @"\");
    rvSiteMapping.ServerReport.ReportServerCredentials = irsc;
    rvSiteMapping.ShowCredentialPrompts = true;
    rvSiteMapping.ServerReport.ReportServerUrl = new Uri("http://12.25.2.24/Reports");
    rvSiteMapping.ServerReport.ReportPath = "/report/AssetDetail";
    rvSiteMapping.ServerReport.Refresh();

我收到以下错误:

  

基础连接已关闭:发送时发生意外错误。   无法从传输连接读取数据:远程主机强制关闭现有连接。   远程主机

强制关闭现有连接

然而,它与以下代码完美配合:

    rvSiteMapping.Width = 800;
    rvSiteMapping.Height = 600;
    rvSiteMapping.ProcessingMode = ProcessingMode.Local;
    ReportsDataSet ds = new ReportsDataSet();
    var connectionString = ConfigurationManager.ConnectionStrings["LowryATS_Tenant2ConnectionString"].ConnectionString;
    SqlConnection conx = new SqlConnection(connectionString);
    SqlDataAdapter adp = new SqlDataAdapter("SELECT * FROM Assets", conx);

    adp.Fill(ds, ds.Assets.TableName);

    rvSiteMapping.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"AssetReport.rdlc";
    rvSiteMapping.LocalReport.DataSources.Add(new ReportDataSource("ReportsDataSet", ds.Tables[0]));

任何人都可以帮我解决这个问题。我们在ssrs服务器上使用ssrs 2016。

0 个答案:

没有答案