技术开发 频道

协作:SharePoint集成SQL Server2008R2

  在 SharePoint 站点上使用报表查看器 Web 部件

  报表查看器 Web 部件是一个自定义 Web 部件,由 Reporting Services 外接程序安装。可使用该 Web 部件来查看、导航、打印和导出报表服务器上的报表。若要将此 Web 部件添加到页面中,可以使用 TechNet 文章“如何:将报表查看器 Web 部件添加到网页(SharePoint 集成模式下的 Reporting Services)”中的步骤。

  每个报表查看器 Web 部件基于在报表属性中指定的报表文件 (.rdl) 的绝对 URL,每次呈现一个报表。该 URL 必须为当前 SharePoint 站点或同一 Web 应用程序或场中的站点上的报表的完全限定路径。该 URL 必须解析为文档库或包含报表的文档库中的文件夹。报表 URL 必须包括 .rdl 文件扩展名。如果报表依赖于模型或共享数据源文件,则无需在 URL 中指定这些文件。报表包含对其需要的文件的引用。

  声明身份验证和 Reporting Services

  SharePoint Server 2010 推出的一项新功能是支持基于声明的身份验证。在声明感知应用程序中,客户端向应用程序提交“声明”。这些声明是关于用户的数条信息,例如用户名、电子邮件地址或经理姓名。这种方式为应用程序提供的信息要多于使用 Kerberos 时接收的信息。例如,对于一个采购应用程序:传递到应用程序的两个声明可能是用户的经理的电子邮件地址和用户的采购限额。在非声明感知应用程序中,此类信息必须由应用程序管理。

  在 SharePoint 中,声明身份验证解决了在多个组织之间共享 SharePoint 站点的问题。使用 Active Directory 联合身份验证服务 (AD FS) 等产品,两个使用不同身份验证方法的组织可以设置声明,让 SharePoint 能够识别用户身份并分配正确的权限。

  由于此功能内置在 SharePoint 2010 产品中,因此 Reporting Services 可以使用此身份验证模式。Reporting Services 不是声明感知的,而是通过可信帐户与 SharePoint 通信。SQL Server 2008 R2 外接程序中的代理服务使用 SharePoint 对象模型,采用报表服务器能够理解并用来对 SharePoint 数据库进行验证的 SharePoint 用户令牌形式将声明令牌转换为对应的 SharePoint 用户上下文。简而言之,此过程的工作方式如下:

  1. SharePoint 执行适当的声明身份验证,并使用 SharePoint Secure Token Service 将声明令牌传递到 Reporting Services 代理。

  2. 然后,Reporting Services 代理使用声明令牌与 SharePoint 对象模型进行通信,并生成相应的 SharePoint 用户令牌,将令牌转发到报表服务器。

  3. 报表服务器使用 SharePoint 用户令牌针对本地 SharePoint 对象模型生成正确的 SharePoint 用户上下文。

  4. 如果用户拥有必需的权限,则报表服务器会使用它通常使用的适当 SharePoint 用户上下文,将请求的信息发送回 SharePoint。

  本地列表报告

  SQL Server 2008 R2 Reporting Services 现在支持将 SharePoint 列表作为数据源。有了此支持功能,您能够从 SharePoint Foundation 2010、SharePoint Server 2010、Windows SharePoint Services 3.0 和 Office SharePoint Server 2007 检索列表数据。访问列表数据的功能不依赖外接程序,也不依赖在本机或 SharePoint 集成模式下运行报表服务器。该功能已内置在报表服务器中。不同配置的区别在于访问方法。

  有两种访问 SharePoint 列表数据的方法。一种方法是通过 lists.asmx web 服务,另一种方法是通过 SharePoint 对象模型 API。在任何 SharePoint 安装上,如果输入 URL http://\lists.asmx,您将获得能够访问的 SharePoint 站点上的所有列表的 XML 列表。使用此方法,Report Builder 3.0 可以检索列表。在本机模式下配置的报表服务器也使用此方法。

  SharePoint 对象模型 API 方法可在两种方案中使用。一种方案是报表服务器在 SharePoint 集成模式下配置,列表存在于集成了 Reporting Services 的同一个 SharePoint 场中,它们都在同一台计算机上;请记住,在此方案中,有一个 SharePoint 副本在报表服务器上运行,报表服务器为其提供对 API 集的访问。另一种方案是同时安装了 SharePoint 2010 和外接程序,但您没有报表服务器。这称为本地模式,将在下文的“没有 Reporting Services 的报告”一节中介绍。

  若要在报表中使用从 SharePoint 列表获取的数据,首先需要创建数据源,然后创建使用该数据源的数据集。在 Report Builder 3.0 中,“数据源属性”页面上有一种新的连接类型,称为“Microsoft SharePoint 列表”,如图 3 所示。除了此选项之外,您还要输入 SharePoint 站点的 URL(无需在 URL 中添加 lists.asmx)。还可为数据源配置在访问 SharePoint 服务器时使用的不同凭据。

1  

图 3 SharePoint 列表连接类型

  基于此数据源创建新数据集时,将显示您可以访问的站点上的所有 SharePoint 列表的列表。然后,您可以向下钻取到列表并访问各个列表项,创建筛选器,创建参数并创建报表,就如同它是 SQL 数据库表那样。  

点击查看更多TechNet精彩文章

0
相关文章