簡単に言えば、問題は、レポート ビューアーに埋め込まれたレポートを表示しようとすると、次のスタック トレースで 401 Unauthorized エラーが発生することです。
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID)
at Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo()
at Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1 parameters)
at ReportingObject.RenderReport(ReportViewer reportViewer, ReportParameter[] param) in C:\Projects\RBDCReportMapIntelligence\RBDCReportMapIntelligence\ReportingObject.cs:line 41
at Report.btnViewReport_Click(Object sender, EventArgs e) in c:\Projects\RBDCReportMapIntelligence\RBDCReportMapIntelligence\Report.aspx.cs:line 126
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
詳細は次のとおりです。
- 私のマシン (Windows Vista を実行) では、IIS とレポート サービスの両方が実行されています。
- 私はマシンのローカル管理者ですが、システム管理者ではありません。
- この投稿に従って、自分自身にアクセスできるようにレポートサービスを構成しました(かなり一般的なソリューションのようです)。しかし、これを行った後でも、管理者として IE を実行しないとレポート マネージャーが表示されません。
- IIS では、すべてのサイトに対して DefaultAppPool で匿名認証が有効になっているだけで、有効にする必要があるものと無効にする必要があるものはよくわかりません。DefaultAppPool は、NetworkService が ID として設定された統合マネージド パイプライン モードです。
- VSに変更が必要な設定があるかどうかはわかりません。
- レポートサーバーに接続するためのIReportServerCredentialsインターフェイスを実装するクラスがあります(ネット上の多くの例に従って)
私はウェブとstackoverflowも調べようとしましたが、それらのソリューションから多くのことを試しましたが、何も役に立たないようです.
誰かが助けてくれたら最高です。質問にさらに詳細を追加する必要がある場合はお知らせください。