Load SharePoint Server reports

To render SharePoint Server reports in the Bold Reports® ASP.NET MVC Report Viewer, set the ReportServerUrl, ReportPath, and ReportServiceUrl properties, as in the following code snippet:

@(Html.Bold().ReportViewer("viewer")
    .ReportServiceUrl("/api/SharePointReports")
    .ReportServerUrl("http://<servername>/reportserver$instanceName")
    .ReportPath("http://<servername>/reportserver$instanceName/SSRSSamples/Territory Sales.rdl")
)

In SharePoint integrated mode, the ReportServerUrl will be same as your site URL. The ReportPath is relative to the Bold Reports® Report Server URL with the file extension.

How do I set forms credentials for SharePoint Server?

To set forms credentials for a SharePoint integrated SSRS Report Server, specify the ReportServerFormsCredential property in the Web API Controller OnInitReportOptions method. The Report Viewer requires the forms credentials to load the SharePoint integrated SSRS report from that server.

[NonAction]
public void OnInitReportOptions(ReportViewerOptions reportOption)
{
    //Add ReportServerFormsCredential for server
    reportOption.ReportModel.ReportServerFormsCredential = new ReportServerFormsCredential("ssrs", "RDLReport1");
}

How do I set data source credentials for shared data sources?

To connect shared data sources with the database, add their credentials to the DataSourceCredentials property in the Report Viewer Web API controller.

[NonAction]
public void OnInitReportOptions(ReportViewerOptions reportOption)
{
    //Add ReportServerFormsCredential and data source credentials
    reportOption.ReportModel.ReportServerFormsCredential = new ReportServerFormsCredential("ssrs", "RDLReport1");
    reportOption.ReportModel.DataSourceCredentials.Add(new BoldReports.Web.DataSourceCredentials("<database>", "ssrs1", "RDLReport1"));
}

Data source credentials should be added to shared data sources that do not have credentials in the connection strings.

See also