2012-04-06 68 views
1

我在應用程序服務器中發佈了asp.net 3.5中的Web應用程序。我在數據庫服務器中部署了少量SSRS報表,需要從Web應用程序訪問它。服務器在同一網絡中。我使用報表查看器控件來顯示報表,並且我正在動態地傳遞報表路徑。我還從後面的代碼發送登錄憑證。報表查看器無法訪問其他數據庫服務器中的報表

的問題是,該報告被正確識別,當我點擊查看報告按鈕沒有數據appears.I具有SQL Server 2008 R2和報表查看器9.0版

正確的報告參數也shown.But請幫助我。這裏是一個代碼片段...

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"]; 
    } 
} 
+0

我認爲有一些兼容性的問題here..in我的開發環境,我公司在生產ENV使用SSRS 2008.and其SSRS 2008 r2.Can任何一個可以幫助我如何在asp.net報告查看器控件中獲取最新版本的報告查看器。 – Alivia 2012-04-06 12:57:41

回答

0

你是否檢查報告在http://72.0.170.205:80/Reports上以相同的憑據運行正常?

不知道這是否可以幫上什麼忙,但這裏有我在執行我所看到的變化:

  • 我不叫ReportViewer1.ServerReport.Refresh();
  • 我調用this.RegisterRequiresViewStateEncryption(); (有時要禁用它)
  • 我的reportDisplay應用程序不是根應用程序。由於衝突,在SSRS2005中,我必須在web.config中爲其會話cookie使用不同的名稱。保持自那以後

    <sessionState cookieless="UseCookies" cookieName="ASP.NET_SessionId.myCustomName"/> 
    
+0

我已檢查報告運行完美,具有相同的憑據。您可以告訴我在一些細節上創建此會話cookie的位置?cookie的默認名稱是什麼? – Alivia 2012-04-06 13:11:04

+0

cookie名稱在web.config的sessionState元素中定義。默認名稱應該是ASP.NET_SessionId。 – jbl 2012-04-06 13:17:52

+0

感謝您的文章,我添加了會話和httphandler到應用程序配置,它的工作.... :) – Alivia 2012-04-07 10:32:41

相關問題