To render SharePoint server reports, set the ReportServerUrl
, ReportPath
, and ReportServiceUrl
properties as shown 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. TheReportPath
is relative to the Report Server URL with the file extension.
The forms credentials are required to load the SharePoint integrated SSRS report from the specified SharePoint integrated SSRS Report Server using the Report Viewer. Specify the ReportServerFormsCredential
property in the Web API Controller OnInitReportOptions
method.
[NonAction]
public void OnInitReportOptions(ReportViewerOptions reportOption)
{
//Add ReportServerFormsCredential for server
reportOption.ReportModel.ReportServerFormsCredential = new ReportServerFormsCredential("ssrs", "RDLReport1");
}
The shared data source credentials can be added to the DataSourceCredentials
property to connect with the database.
[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.