1

アプリ サーバーで公開された asp.net 3.5 に Web アプリケーションがあります。Web アプリからアクセスする必要があるデータベース サーバーに展開された SSRS レポートはほとんどありません。両方のサーバーが同じネットワークにあります。レポート ビューアー コントロールを使用しています。レポートを表示するために、レポート パスを動的に渡しています。コード ビハインドからログイン資格情報も送信しています。

問題は、レポートが正しく識別され、適切なレポート パラメータも表示されることです。しかし、[レポートの表示] ボタンをクリックしても、データが表示されません。Sql サーバー 2008 r2 とレポート ビューア バージョン 9.0 があります。

これで私を助けてください。ここにコードスニペットがあります...

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        ReportViewer1.ShowCredentialPrompts = false;

        IReportServerCredentials irsc = 
            new CustomReportCredentials("user", "pass", "domain");

        ReportViewer1.ServerReport.ReportServerCredentials = irsc;
        ReportViewer1.ServerReport.ReportServerUrl = 
            new Uri("http://72.0.170.205:80/ReportServer");

        ReportViewer1.ShowParameterPrompts = true;
        ReportViewer1.ShowPrintButton = true;
        ReportViewer1.ProcessingMode = ProcessingMode.Remote;

        ReportViewer1.ServerReport.Refresh();

        ReportViewer1.ServerReport.ReportPath = Request.QueryString["val"];
    }
}
4

2 に答える 2

0

http://72.0.170.205:80/Reportsで同じ資格情報を使用してレポートが正常に実行されることを確認しましたか?

これが役立つかどうかはわかりませんが、実装で見られる違いは次のとおりです。

  • ReportViewer1.ServerReport.Refresh(); は呼び出しません。
  • 私はこれを呼び出します.RegisterRequiresViewStateEncryption(); (時々無効にする必要がありました)
  • 私のreportDisplayアプリケーションはルートアプリではありません。競合のため、SSRS2005 では、web.config でセッション cookie に別の名前を使用する必要がありました。それ以来飼ってます

     <sessionState cookieless="UseCookies" cookieName="ASP.NET_SessionId.myCustomName"/>
    
于 2012-04-06T12:43:13.380 に答える