1

我在应用程序服务器中发布了一个在 asp.net 3.5 中的 Web 应用程序。我在需要从 Web 应用程序访问的数据库服务器中部署了几个 SSRS 报告。两个服务器都在同一个网络中。我正在使用报告查看器控件显示报告,我正在动态传递报告路径。我还从后面的代码发送登录凭据。

问题是报告被正确识别并且也显示了正确的报告参数。但是当我单击查看报告按钮时没有数据出现。我有 Sql server 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();
  • 我称之为 this.RegisterRequiresViewStateEncryption(); (有时不得不禁用它)
  • 我的 reportDisplay 应用程序不是根应用程序。由于冲突,早在 SSRS2005 中,我不得不在 web.config 中为其会话 cookie 使用不同的名称。从那以后一直保持着

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

Protected Sub Load_Report() Dim Connection As New SqlConnection(Connection_String) '服务器连接字符串

    Dim Data_Table As New DataTable("DataTable1") *'Create New Data Table in DataSet having same columns as are there in your Datatable*
    Dim Query As String
    Query = "SELECT Caption,Mobile,Age,City FROM Bond.Book"
    Dim Command As New SqlCommand(Query, Connection)
    Dim Table_Adapter As New SqlDataAdapter(Command)
    Table_Adapter.Fill(Data_Table)
    ReportViewer1.ProcessingMode = ProcessingMode.Local
    ReportViewer1.LocalReport.ReportPath = Server.MapPath("Book.rdlc")
    ReportViewer1.LocalReport.DataSources.Clear()
    ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("Book_DataSet", Data_Table))
    ReportViewer1.LocalReport.Refresh()
End Sub

这对我有用。我能够在服务器上加载报表查看器并查看服务器数据

于 2019-06-13T09:50:17.730 回答