このc#コードを使用して、SharePoint2010サイトおよびSQLServer ReportingServices2012からレポートを開きます。
if (!IsPostBack)
{
ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("https://site.com/_vti_bin/reportserver");
ReportViewer1.ServerReport.ReportPath = "https://site.com/sites/ssrs/Reports/Report1.rdl";
ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ShowCredentialPrompts = false;
IReportServerCredentials irsc = new ReportViewerCredentials("user", "pass", "domain");
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportViewer1.ServerReport.Refresh();
}
SharePointサイトからレポートを開くことはできますが、ASP.Netページで上記のコードを使用してレポートを開こうとすると、タイムアウトになります。テストファームからレポートを開くことに成功したので、コードは正常に機能します。実稼働ファームで、
「基になる接続が閉じられました:接続が予期せず閉じられました」というメッセージが表示されます。
興味深いのは、レポートが2回(2日間で)開かれ、他のレポートを開こうとしたときに、以前と同じように失敗したことです。これは、IISを再記述したときに発生しましたが、再度発生することはありません。
サーバーとSharePointファームに対するすべてのアクセス許可があります。レポートは1行だけのページであり、データソースすらありません。