【问题标题】:how to open ssrs report from asp web page using report viewer如何使用报表查看器从 asp 网页打开 ssrs 报表
【发布时间】:2012-09-26 18:14:38
【问题描述】:

我正在尝试使用 ReportViewer 在我的网页上打开一个 ssrs 报告。对于我有的报告服务器 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”替换为空格。似乎没有任何效果。任何的想法?谢谢。

【问题讨论】:

    标签: c# asp.net ssrs-2008


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。我尝试了上述方法,但仍然收到错误消息:“找不到项目文件夹/报告名称。(rsItemNotFound)
    • 我不确定您的报告路径是否正确。它应该看起来像 /report folder/report name.... 您在示例中的内容似乎是从报表服务器 GUI 粘贴的路径.... 如果您的报表位于名为 MySales 的文件夹中,并且在里面如果报告名为 Sales2012,那么您希望报告路径为 /MySales/Sales2012。
    【解决方案2】:

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

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

    %2fCustomer1 -> /Customer1

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多