在 BI 测试环境中使用外部数据连接配置 Excel Services 数据访问

 

适用于: Excel Services, SharePoint Server 2010

上一次修改主题: 2011-05-20

重要

本文属于配置 BI 基础结构:动手实验系列的一部分。若要完成本文中的步骤,您必须先完成以下步骤:

Microsoft SharePoint Server 2010 中的 Excel Services 提供了三种方法来使用安全存储刷新工作簿中的外部数据源:

  • 无人参与服务帐户

  • 工作簿中嵌入的数据连接

  • Office 数据连接 (ODC) 文件中的数据连接

此实验包含 Office 数据连接文件选项。有关如何使用嵌入连接的详细信息,请参阅使用嵌入数据连接配置 Excel Services 数据访问。有关如何使用无人参与服务帐户的详细信息,请参阅为 BI 测试环境配置 Excel Services 无人参与服务帐户

在此实验中,我们将在 Microsoft Excel 2010 上创建使用 Microsoft SQL Server 2008 R2 的外部数据连接的数据透视表。接下来,我们将说明如何在 Microsoft SharePoint Server 2010 上保存此数据透视表,以及如何确认数据刷新运行正常。

配置数据访问帐户

在通过安全存储配置数据访问时,您必须向该帐户授予对 Excel Services 工作簿将连接到的数据源的访问权限。在此实验中,我们将继续使用 Contoso 数据库示例数据,我们可在将发布到 SharePoint 文档库的数据连接工作簿中使用该数据。

创建用于访问数据的 Active Directory 帐户

  1. 以 Contoso\Administrator 身份登录到 Contoso-DC。

  2. 依次单击“开始”、“管理工具”和“Active Directory 用户和计算机”。

  3. 展开 contoso.local 节点。

  4. 右键单击“用户”,单击“新建”,然后单击“用户”。

  5. 在“全名”和“用户登录名”框中,键入 ExcelODCAccess

  6. 单击“下一步”。

  7. 键入帐户密码并进行确认。

  8. 清除“用户下次登录时必须更改密码”复选框。

  9. 选中“密码永不过期”复选框。

  10. 单击“下一步”,然后单击“完成”。

创建帐户后,下一步是向该帐户授予对所需数据的读取权限。在生产方案中,您将授予对需要从 Excel Services 工作簿访问的任何数据源的访问权。在此实验中,我们将授予对 ContosoRetailDW 数据库的访问权限。请使用以下过程创建一个 SQL Server 登录,并授予该登录对该数据库的数据读取器访问权限。

创建 SQL Server 登录名

  1. 作为 Contoso\SQLAdmin 登录到 Contoso-SQL。

  2. 依次单击“开始”、“所有程序”、“Microsoft SQL Server 2008 R2”和“SQL Server Management Studio”。

  3. 在“连接到服务器”对话框上,选择“数据库引擎”作为“服务器类型”,在“服务器名称”框中键入 Contoso-SQL,然后单击“连接”。

  4. 在对象资源管理器中,展开“安全性”。

  5. 右键单击“登录名”,然后单击“新建登录名”。

  6. 在“登录名”框中,键入 Contoso\ExcelODCAccess

  7. 在“选择页”下,单击“用户映射”。

  8. 选中 ContosoRetailDW 数据库对应的“映射”复选框,然后在“数据库角色成员身份: ContosoRetailDW”下,选中“db_datareader”复选框。

  9. 单击“确定”。

配置安全存储

在此系列实验的前几部分,我们在为 BI 测试环境配置 Secure Store Service 一文中配置了 Secure Store Service。现在,我们必须通过一系列过程为 Excel Services 创建目标应用程序。这些过程说明如何在虚拟网络中创建 Active Directory 组,如何在安全存储中创建目标应用程序,以及最后如何向此目标应用程序分配凭据。

在安全存储目标应用程序中,我们会将一组特定用户映射到在上一节中创建的 Contoso\ExcelODCAccess 帐户。虽然这些用户始终没有对此帐户的直接访问权限,但 Excel Services 将代表他们使用此帐户来刷新数据连接工作簿。

为避免管理单个用户的复杂性,我们将创建一个 Active Directory 组来包含它们。

创建用于用户数据访问的 Active Directory 组

  1. 以 Contoso\Administrator 身份登录到 Contoso-DC。

  2. 依次单击“开始”、“管理工具”和“Active Directory 用户和计算机”。

  3. 展开 contoso.local 节点。

  4. 右键单击“用户”,单击“新建”,然后单击“组”。

  5. 在“组名”框中,键入 ExcelODCAccessGroup

  6. 单击“确定”。

在 Active Directory 中创建组帐户后,我们现在必须在组中填充我们要通过安全存储向其授予数据访问权限的用户帐户。以下过程介绍如何执行此操作。

填充数据访问组

  1. 在“Active Directory 用户和计算机”中的用户列表中,双击“ExcelODCAccessGroup”组。

  2. 在“成员”选项卡上,单击“添加”。

  3. 在“选择用户”对话框中,键入 Contoso\susan.burk; Contoso\john.woods,然后单击“确定”。

  4. 此时,“成员”选项卡应将 Susan Burk 和 John Woods 显示为组成员。

  5. 单击“确定”。

现在,您已创建用于数据访问的 Active Directory 帐户,可以为 Excel Services 创建目标应用程序以使用 Office 数据连接 (ODC)。请使用以下过程创建和配置目标应用程序。

创建目标应用程序

  1. 使用 Contoso\FarmAdmin 帐户登录到 Contoso-AppSrv。

  2. 依次单击“开始”、“所有程序”、“Microsoft SharePoint 2010 产品”和“SharePoint 2010 管理中心”。

  3. 在 SharePoint 管理中心网站主页上的“应用程序管理”部分,单击“管理服务应用程序”。

  4. 单击 Secure Store Service 服务应用程序。

  5. 在功能区上,单击“新建”。

  6. 在“目标应用程序 ID”框中,键入 ExcelServicesODC

  7. 在“显示名称”框中,键入 ExcelServicesODC

  8. 在“联系人电子邮件”框中,键入 farmadmin@contoso.local

    备注

    虽然未在此环境中配置电子邮件通知,但“联系人电子邮件”也是必填字段。

  9. 在“目标应用程序类型”下拉列表中,选择“组”。

  10. 单击“下一步”。

  11. 保留默认凭据字段,然后单击“下一步”。

  12. 在“指定成员资格设置”页中:

    • 在“目标应用程序管理员”框中,键入 Contoso\FarmAdmin

    • 在“成员”框中,键入 Contoso\ExcelODCAccessGroup

    • 单击“确定”。

创建目标应用程序后,下一步是将我们创建的数据访问帐户 (Contoso\ExcelODCAccess) 与目标应用程序相关联。请使用以下过程设置目标应用程序的凭据。

设置目标应用程序的凭据

  1. 在“Secure Store Service 应用程序”页上的“目标应用程序 ID”列中,指向“ExcelServicesODC”,单击出现的箭头,然后单击“设置凭据”。

  2. 在“Windows 用户名”框中,键入 Contoso\ExcelODCAccess

  3. 键入 Contoso\ExcelODCAccess 帐户的密码并进行确认。

  4. 单击“确定”。

创建和发布 ODC 文件

配置完安全存储后,下一步是创建 ODC 文件并将其发布到受信任的数据连接库。请使用以下过程创建连接到 ContosoRetailDW 数据库的 ODC 文件。

创建和发布 ODC 文件

  1. 使用 Contoso\Susan.Burk 帐户登录到 Contoso-Client 虚拟机。

  2. 依次单击“开始”、“所有程序”、“Microsoft Office”和“Microsoft Excel 2010”。

  3. 在“数据”选项卡上,单击“自其他源”,然后单击“来自 SQL Server”。

  4. 在“数据连接向导”的“连接到数据库服务器”页上,在“服务器名称”框中键入 Contoso-SQL,然后单击“下一步”。

  5. 在“选择数据库和表”页上,从下拉列表中选择“ContosoRetailDW”。

  6. 在表的列表中,选择“DimProduct”,然后单击“下一步”。

  7. 单击“完成”。

    备注

    如果系统提示您覆盖本地磁盘上的 ODC 文件,请单击“是”。

  8. 在“导入数据”对话框中,选择“数据透视表”选项,然后单击“确定”。

  9. 在“数据”选项卡上,单击“连接”。

  10. 在“工作簿连接”对话框中,单击“属性”。

  11. 在“连接属性”对话框中的“定义”选项卡上,单击“身份验证设置”。

  12. 在“Excel Services 身份验证设置”对话框上,选择“SSS”选项,在“SSS ID”框中键入 ExcelServicesODC,然后单击“确定”。

  13. 在“连接属性”对话框中,单击“导出连接文件”。

  14. 在“保存文件”对话框的“URL”框中,键入 http://Contoso-AppSrv/sites/BICenter,然后按 Enter。

    备注

    使用 BI 中心中的内容刷新列表可能需要一段时间。

  15. 在“所有网站内容”列表中,双击“数据连接”。

  16. 在“文件名”框中,键入 DimProductTable,然后单击“保存”。

  17. 在“数据连接”对话框中,从“内容类型”下拉列表中选择“Office 数据连接文件”,然后单击“确定”。

  18. 在“连接属性”对话框中,单击“确定”,然后在“工作簿连接”对话框上,单击“关闭”。

  19. 退出 Microsoft Excel。

    备注

    您不必保存工作簿。

仍以 Susan Burk 身份登录到 Contoso-Client,以进行下一过程。

我们现在已成功发布包含与 ContosoRetailDW 数据库的 DimProduct 表的数据连接的 ODC 文件,并在安全存储中使用 ExcelServicesODC 目标应用程序以供验证。

测试数据刷新

在本节中,我们将测试以前配置的内容,方法是发布数据连接 Excel 工作簿,该工作簿使用我们以前发布的用于数据连接的 DimProductTable.odc 文件。请使用以下过程创建和发布数据透视表。

创建和发布数据透视表

  1. 在 Contoso-Client 上,依次单击“开始”、“所有程序”、“Microsoft Office”和“Microsoft Excel 2010”。

  2. 在“数据”选项卡上,单击“现有连接”。

  3. 在“现有连接”对话框中,单击“浏览更多”。

  4. 在“选取数据源”对话框的“URL”框中,键入 type http://Contoso-AppSrv/sites/BICenter,然后按 Enter。

    备注

    使用 BI 中心中的内容刷新列表可能需要一段时间。

  5. 在“所有网站内容”列表中,双击“数据连接”。

  6. 在“数据连接”列表上,选择“DimProductTable”,然后单击“打开”。

  7. 在“导入数据”对话框中,选择“数据透视表”选项,然后单击“确定”。

  8. 在“数据透视表字段列表”中:

    1. 将“制造商”拖动到“行标签”框中。

    2. 将“ProductName”拖动到“值”框中。

  9. 依次单击“文件”、“保存并发送”、“保存到 SharePoint”、“浏览位置”和“另存为”。

  10. 在“另存为”对话的“URL”框中,键入 http://Contoso-AppSrv/sites/BICenter,然后按 Enter。

    备注

    使用 BI 中心中的内容刷新列表可能需要一段时间。

  11. 在“所有网站内容”列表中,双击“文档”。

  12. 在“文件名”框中,键入 ProductsPerVendor.xlsx

  13. 确保选中“通过 Excel 在浏览器中打开”复选框,然后单击“保存”。

将在浏览器中呈现工作簿。将浏览器保持打开状态以进行下一过程。

为使用 ODC 文件和安全存储确认数据刷新运行正常,我们将按照以下步骤操作:

  • 在 Contoso-Client 上刷新浏览器中当前显示的数据

  • 更改 ContosoRetailDW 数据库中的值

  • 再次在 Contoso-Client 上刷新浏览器中显示的数据,并确认显示新信息

首先,我们将刷新现有数据。请使用以下过程刷新浏览器中的数据。

使用 Excel Services 刷新数据连接工作簿

  1. 在浏览器中的“数据”下拉列表上,单击“刷新所有连接”。

    备注

    如果显示警告消息,请单击“确定”。

如果所有项都配置正确,则刷新数据时不会出现错误,但此时我们并不会看到值有任何更改。下一步是更改 ContosoRetailDW 数据库中的值,并确认这些更改显示在工作簿中。

更新 ContosoRetailDW 数据库中的数据

  1. 使用 Contoso\SQLAdmin 帐户登录到 Contoso-SQL。

  2. 依次单击“开始”、“所有程序”、“Microsoft SQL Server 2008 R2”和“SQL Server Management Studio”。

  3. 在“连接到服务器”对话框上,选择“数据库引擎”作为“服务器类型”,然后单击“连接”。

  4. 在工具栏中单击“新建查询”。

  5. 将以下查询复制到查询窗口中:

    USE [ContosoRetailDW]
    GO
    UPDATE dbo.DimProduct set dbo.DimProduct.Manufacturer = 'Contoso, Ltd' where dbo.DimProduct.Manufacturer = 'Northwind Traders'
    GO
    
  6. 在工具栏中单击“执行”。

    备注

    查询运行后,您应在“消息”窗口中看到“(47 行受影响)”。

返回 Contoso-Client 虚拟机,其中 ProductPerVendor.xlsx 显示在浏览器中。

注意,当前在电子表格中显示的 Northwind Traders 提供的产品数是 47,Contoso, Ltd 提供的数目是 710。我们在 DimManufacturer 表中将 Northwind Traders 的所有产品都更改为 Contoso, Ltd 的产品,所以当刷新工作簿时将显示新值。请使用以下过程刷新工作簿。

备注

如果看到该页面已过期的警告,请单击“确定”,然后重新启动该过程。

使用 Excel Services 刷新数据连接工作簿

  1. 在浏览器中的“数据”下拉列表上,单击“刷新所有连接”。

    备注

    如果显示警告消息,请单击“确定”。

注意,Northwind Traders 现在已从报表中消失,并且 Contoso, Ltd 提供的产品数已从 710 更改为 757,确认 ODC 文件和安全存储中的数据刷新运行正常。

备注

在刷新工作簿时,Excel Services 缓存设置会影响显示新结果的速度。在为 BI 测试环境配置 Excel Services 实验中,我们将缓存设置设为零 (0),以允许立即刷新。在生产环境中,刷新可能需要花费较长时间,具体取决于配置缓存的方式。