信息化 频道

协作:SharePoint集成SQL Server2008R2

  与 Report Builder 3.0 集成

  SharePoint 和 Reporting Services 之间的集成的主要优点是允许用户从 SharePoint 内部创建、修改和发布报表。Reporting Services 提供了一些预定义内容类型,可用于管理各种文件,包括共享报表数据源 (.rsds) 文件、报表生成器模型 (.smdl) 和报表生成器报表定义 (.rdl) 文件。在已配置集成以允许用户从功能区和上下文菜单创建和管理这些新内容类型之后,您需要在这些库上启用新内容类型。

  如果使用 BI 中心站点模板,则无需进行任何操作,内容类型将在模板以及使用此模板创建的所有站点中自动启用。对于其他所有站点和文档库,您需要执行两步骤的配置过程。 首先,您需要在库中启用内容类型管理;它在默认情况下处于关闭状态。然后,您需要为库启用内容类型。若要为文档库启用内容类型管理,请按照 TechNet 文章“如何:将报表服务器内容类型添加到库(SharePoint 集成模式下的 Reporting Services)”中的过程操作。

  在将新内容类型添加到库后,“文档”选项卡上的“新建文档”下拉列表中将出现三个新选项。如果现在 选择“报表生成器报表”选项,则会将 Report Builder 3.0 下载到客户端并运行该程序。您可从 SharePoint 管理中心更改此行为。通过“Reporting Services 服务器默认值”页面,您可以关闭此选项,并为报表生成器配置其他 URL。  

   在 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 服务器时使用的不同凭据。

协作:SharePoint集成SQL Server2008R2

  图 3 SharePoint 列表连接类型

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

  备用访问映射支持

  另一项集成增强功能是支持备用访问映射 (AAM)。从 SharePoint 2007 版本就已经开始提供 AAM 功能,但 Reporting Services 不支持 AAM。现在,如果您在 SharePoint 管理中心配置备用访问映射,Reporting Service 外接程序将维持 URL 结构,如图 4 中的简单报表所示。http://sql-01http://www.contoso.com 都呈现相同的报表。

协作:SharePoint集成SQL Server2008R2

  图 4 备用访问映射

  没有 Reporting Services 的报告

  截止目前,本文中的所有信息都属于我们所说的连接模式。在以前版本的 Reporting Services 中,连接模式是唯一可用的模式,这意味着 SharePoint 必须连接到在 SharePoint 集成模式下配置的 Reporting Services 报表服务器,才能使用报表查看器呈现报表。

  随着 SQL Server 2008 R2 的发布,您可在未将 SharePoint 站点或场与 Reporting Services 报表服务器集成的情况下呈现报表。相反,当数据扩展插件支持本地模式 报告时,您可以使用报表查看器从 SharePoint 直接呈现报表。只有 SharePoint 列表和 Microsoft Access 2010 报告扩展插件默认支持此功能。

  在本地模式下,您还可以呈现具有内置数据源或来自 .rsds 文件的共享数据源的报表。但是,您不能管理报表或其关联数据源,因为在本地模式下不支持此功能。

  支持的 SharePoint 外接程序和报表服务器的组合

  随着 SQL Server 2008 R2 和 SharePoint Server 2010 的发布,现在有三个版本的 SQL、三个版本的外接程序和两个版本的 SharePoint。集成组件可在所有这些版本上运行,但您必须组合并匹配正确的版本。图 5 中的表格提供了支持的产品组合。

协作:SharePoint集成SQL Server2008R2

  图 5 支持的 SharePoint 外接程序和报表服务器的组合

0
相关文章