如何使用报表查看器从asp网页打开ssrs报表

时间:2012-09-26 18:14:38

标签: c# asp.net ssrs-2008

我正在尝试使用ReportViewer在我的网页上打开ssrs报告。对于Report Serverl URL,我有:

http://db_servers/ReportsServer_SENSORSQLSERVER

对于我的报告路径,我有:

http://db_servers/ReportsServer_SENSORSQLSERVER/Pages/ReportViewer.aspx?%2fCustomer1&rs:Command=Render.

我查看了许多网站和教程,了解如何添加网址但我仍然收到错误消息:我的链接长度必须低于260个字符。 (rsInvalidItemPath)。我还想提一下我的报表服务器处于纯模式。我的报表服务器位于另一台计算机上,因此我确保报表查看器上的处理模式是远程的。每当我访问收件人网址时,我都能清楚地看到我的报告列表,当我点击报告时我也可以看到它,所以我知道我的网址是正确的。我试过在我的报告路径url前面加一个斜杠,用空格替换“2%f”。似乎没什么用。任何的想法?感谢。

4 个答案:

答案 0 :(得分:11)

您需要将服务器的URL分开,报告路径并将参数添加到参数数组中。

以下是一个示例:

    protected void Page_Init(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        // Set the processing mode for the ReportViewer to Remote
        reportViewer.ProcessingMode = ProcessingMode.Remote;

        ServerReport serverReport = reportViewer.ServerReport;

        // Set the report server URL and report path
        serverReport.ReportServerUrl =
            new Uri("http://<Server Name>/reportserver");
        serverReport.ReportPath =
            "/AdventureWorks Sample Reports/Sales Order Detail";

        // Create the sales order number report parameter
        ReportParameter salesOrderNumber = new ReportParameter();
        salesOrderNumber.Name = "SalesOrderNumber";
        salesOrderNumber.Values.Add("SO43661");

        // Set the report parameters for the report
        reportViewer.ServerReport.SetParameters(
            new ReportParameter[] { salesOrderNumber });
    }
}

以上摘自Using the WebForms ReportViewer Control

答案 1 :(得分:1)

您应该将"2%f"替换为"/"

问题在于您的ReportPath属性,例如:

%2fCustomer1 - &gt; /Customer1

答案 2 :(得分:1)

这是一个古老的,但我碰到了一个客户。为了获取报告URL,我发现最简单的方法是通过SSMS连接到运行Report Server的SQL实例,然后打开ReportServer数据库,并在目录表中查询路径字段。

答案 3 :(得分:0)

打开SSRS的非常简单的方法:

0