第 1 课:为 Reporting Services Web 服务定义报表数据集
更新日期: 2006 年 4 月 14 日
使用以下步骤可以了解如何指定数据源连接以及如何通过 Web 服务返回 XML 数据。在本课中,将通过调用报表服务器 Web 服务 ListChildren 方法创建数据集,该方法从报表服务器数据库的根文件夹中返回所有项的列表。您需要定义 ListChildren 方法所需要的参数并设置默认值,以从根文件夹开始对层次结构进行迭代。由 Web 服务定义的项属性在“数据集”窗口中作为数据集的字段出现。最后,将数据集字段拖至报表布局以设计您的报表。预览报表时,您将看到报表服务器数据库中的项和项属性,如报表、文件夹和数据源。
定义 XML 数据源、数据集和查询
打开浏览器窗口并键入 https://localhost/reportserver/reportservice2005.asmx?wsdl 以获取报表服务器 Web 服务的命名空间信息。此后,您将在查询中指定该命名空间。
注意: 如果尝试此操作时没有在浏览器中得到 XML WSDL 定义响应,则请检查教程:在报表中使用 XML 数据的要求部分。 注意: 从一个版本到下一个版本,命名空间版本信息可能会发生更改。若要验证所使用的报表服务器的命名空间信息,可以生成 WSDL 以验证是否拥有正确的 Web 服务引用。命名空间的格式为 https://schemas.microsoft.com/sqlserver/<年>/<月>/<日>/reporting/reportingservices。 启动报表设计器并创建一个新的报表。如果不知道如何创建报表,则请参阅教程:创建基本报表。
在“数据”视图中,选择**“新建数据集”**。键入数据集的名称(例如,XMLDataSet)。
在**“数据集”对话框的“数据源”中,选择“新建数据源”。此时,将显示“数据源”**对话框。
键入数据源的名称(例如,XMLDataSource)。
在**“类型”**中,选择 XML。
在**“连接字符串”**中,键入以下指向报表服务器 Web 服务的 URL:
https://localhost/reportserver/reportservice2005.asmx
对话框应与下图类似:
注意: 在 SQL Server 2005 Reporting Services (SSRS) Service Pack 2 (SP2) 及更高版本中,对在 SharePoint 集成模式下运行的报表服务器使用以下连接字符串: http://<servername>/_vti_bin/ReportServer/ReportService2006.asmx
在**“凭据”选项卡中,选择“使用 Windows 身份验证(集成安全性)”**。
单击**“确定”以保存更改,并关闭“数据源”**对话框。
在**“数据集”**对话框中,使用在步骤 1 中验证的命名空间版本信息键入以下查询:
<Query> <SoapAction>https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/ListChildren</SoapAction> </Query>
对话框应与下图类似:
在**“数据集”对话框的“参数”**选项卡中,键入两个参数。这是 ListChildren 方法中的参数,用于指定在 Report Server 文件夹层次结构中从何处开始以及是否包括所有嵌套文件夹:
Item
Recursive
注意: 在 SP2 及更高版本中,仅 Item 参数可用。 将 Item 设置为 /。删除报表设计器添加的“=”。符号 / 指定报表服务器文件夹命名空间的根节点。
注意: 在 SP2 及更高版本中,如果是在 SharePoint 集成模式下运行 Reporting Services,则此参数必须为 SharePoint 顶级站点、文件夹或文档库的 URL。 例如, http://
<servername>/
<top level site>、http://
<servername>/
<top level site>/
<folder> 或http://
<servername>/
<top level site>/
<document library>。将 Recursive 设置为 1。删除报表设计器添加的“=”。
对话框应与下图类似:
单击**“确定”**。该数据集将添加到“数据集”窗口中。
单击**“运行(!)”**以查看结果集。如果报表服务器数据库包含报表和其他项,则应看到每项对应一行数据。
注意: 如果收到错误“An error occurred while executing the query”,请检查是否已经按照步骤 11 中的说明设置了参数。ListChildren 方法要求使用参数 Item 和 Recursive。 在工具栏中,单击**“刷新字段”() 按钮。这将保存报表定义并更新“报表数据集”**窗口中的字段视图,以显示您可以使用的所有字段。
对话框应与下图类似:
后续步骤
您已经使用报表服务器 Web 服务成功为报表服务器数据库项的报表数据集定义了元数据。在处理报表时,将从报表服务器数据库中检索该数据集元数据表示的数据。接下来,您可以从返回 XML System.Data.DataSet object 的 Web 服务创建报表数据集。请参阅第 2 课:为 Web 服务中的 ADO.NET 数据集定义报表数据集。
请参阅
概念
其他资源
为 XML 数据定义报表数据集
连接数据源
定义报表数据集
如何创建或编辑报表特定数据源(报表设计器)
如何创建数据集(报表设计器)
使用报表数据集中的字段
如何在“数据集”窗口中添加、编辑或删除字段(报表设计器)
报表数据集(报表设计器)