第 1 课:为 Reporting Services Web 服务定义报表数据集

更新日期: 2006 年 4 月 14 日

使用以下步骤可以了解如何指定数据源连接以及如何通过 Web 服务返回 XML 数据。在本课中,将通过调用报表服务器 Web 服务 ListChildren 方法创建数据集,该方法从报表服务器数据库的根文件夹中返回所有项的列表。您需要定义 ListChildren 方法所需要的参数并设置默认值,以从根文件夹开始对层次结构进行迭代。由 Web 服务定义的项属性在“数据集”窗口中作为数据集的字段出现。最后,将数据集字段拖至报表布局以设计您的报表。预览报表时,您将看到报表服务器数据库中的项和项属性,如报表、文件夹和数据源。

定义 XML 数据源、数据集和查询

  1. 打开浏览器窗口并键入 https://localhost/reportserver/reportservice2005.asmx?wsdl 以获取报表服务器 Web 服务的命名空间信息。此后,您将在查询中指定该命名空间。

    ms345338.note(zh-cn,SQL.90).gif注意:
    如果尝试此操作时没有在浏览器中得到 XML WSDL 定义响应,则请检查教程:在报表中使用 XML 数据的要求部分。
    ms345338.note(zh-cn,SQL.90).gif注意:
    从一个版本到下一个版本,命名空间版本信息可能会发生更改。若要验证所使用的报表服务器的命名空间信息,可以生成 WSDL 以验证是否拥有正确的 Web 服务引用。命名空间的格式为 https://schemas.microsoft.com/sqlserver/<年>/<月>/<日>/reporting/reportingservices。
  2. 启动报表设计器并创建一个新的报表。如果不知道如何创建报表,则请参阅教程:创建基本报表

  3. 在“数据”视图中,选择**“新建数据集”**。键入数据集的名称(例如,XMLDataSet)。

  4. 在**“数据集”对话框的“数据源”中,选择“新建数据源”。此时,将显示“数据源”**对话框。

  5. 键入数据源的名称(例如,XMLDataSource)。

  6. 在**“类型”**中,选择 XML

  7. 在**“连接字符串”**中,键入以下指向报表服务器 Web 服务的 URL:

    https://localhost/reportserver/reportservice2005.asmx
    

    对话框应与下图类似:

    XML 数据源类型屏幕快照

    ms345338.note(zh-cn,SQL.90).gif注意:
    在 SQL Server 2005 Reporting Services (SSRS) Service Pack 2 (SP2) 及更高版本中,对在 SharePoint 集成模式下运行的报表服务器使用以下连接字符串:http://<servername>/_vti_bin/ReportServer/ReportService2006.asmx
  8. 在**“凭据”选项卡中,选择“使用 Windows 身份验证(集成安全性)”**。

  9. 单击**“确定”以保存更改,并关闭“数据源”**对话框。

  10. 在**“数据集”**对话框中,使用在步骤 1 中验证的命名空间版本信息键入以下查询:

    <Query>
    <SoapAction>https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/ListChildren</SoapAction>
    </Query>
    

    对话框应与下图类似:

    显示 XML 数据集的屏幕快照

  11. 在**“数据集”对话框的“参数”**选项卡中,键入两个参数。这是 ListChildren 方法中的参数,用于指定在 Report Server 文件夹层次结构中从何处开始以及是否包括所有嵌套文件夹:

    Item

    Recursive

    ms345338.note(zh-cn,SQL.90).gif注意:
    在 SP2 及更高版本中,仅 Item 参数可用。
  12. Item 设置为 /。删除报表设计器添加的“=”。符号 / 指定报表服务器文件夹命名空间的根节点。

    ms345338.note(zh-cn,SQL.90).gif注意:
    在 SP2 及更高版本中,如果是在 SharePoint 集成模式下运行 Reporting Services,则此参数必须为 SharePoint 顶级站点、文件夹或文档库的 URL。 例如,http://<servername>/<top level site>http://<servername>/<top level site>/<folder>http://<servername>/<top level site>/<document library>
  13. Recursive 设置为 1。删除报表设计器添加的“=”。

    对话框应与下图类似:

    显示具有参数的 XML 数据集的屏幕快照

  14. 单击**“确定”**。该数据集将添加到“数据集”窗口中。

  15. 单击**“运行(!)”**以查看结果集。如果报表服务器数据库包含报表和其他项,则应看到每项对应一行数据。

    ms345338.note(zh-cn,SQL.90).gif注意:
    如果收到错误“An error occurred while executing the query”,请检查是否已经按照步骤 11 中的说明设置了参数。ListChildren 方法要求使用参数 ItemRecursive
  16. 在工具栏中,单击**“刷新字段”(刷新数据集字段) 按钮。这将保存报表定义并更新“报表数据集”**窗口中的字段视图,以显示您可以使用的所有字段。

    对话框应与下图类似:

    显示数据集字段和查询结果的屏幕快照

后续步骤

您已经使用报表服务器 Web 服务成功为报表服务器数据库项的报表数据集定义了元数据。在处理报表时,将从报表服务器数据库中检索该数据集元数据表示的数据。接下来,您可以从返回 XML System.Data.DataSet object 的 Web 服务创建报表数据集。请参阅第 2 课:为 Web 服务中的 ADO.NET 数据集定义报表数据集

请参阅

概念

Reporting Services 教程

其他资源

为 XML 数据定义报表数据集
连接数据源
定义报表数据集
如何创建或编辑报表特定数据源(报表设计器)
如何创建数据集(报表设计器)
使用报表数据集中的字段
如何在“数据集”窗口中添加、编辑或删除字段(报表设计器)
报表数据集(报表设计器)

帮助和信息

获取 SQL Server 2005 帮助