9

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

http://db_servers/ReportsServer_SENSORSQLSERVER

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

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

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

4

3 回答 3

12

您需要分离出服务器的 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

于 2012-09-26T18:26:49.800 回答
1

您应该替换"2%f"by "/"

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

%2fCustomer1->/Customer1

于 2013-03-20T20:48:10.593 回答
1

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

于 2020-08-27T20:06:44.097 回答