ASP.NET、OWC 和 SQL Server 2000 Analysis Services 构建了基于 Web 的 OLAP 报表应用

原创 2011年08月08日 16:40:13
 

摘要

  许多机构都使用在线分析处理(OLAP)技术分析其关键业务数据。基于 OLAP 的数据钻取为查询多维数据集以及通过钻取数据来获得模式提供了一种途径。ASP.NET 和 Microsoft Office Web Components (OWC)使能基于 Web 的 OLAP 报表。OWC 控件包含可以嵌入到 Web 页面以及程序员可编写脚本的 PivotTable 和 Chart 组件。本文作者使用 ASP.NET、OWC 和 SQL Server 2000 Analysis Services 构建了一个基于 Web 的 OLAP 报表应用来举例说明了 PivotTable 和 Chart 组件的使用。


  越来越多的公司使用在线分析处理(OLAP)和数据钻取技术来处理它们复杂的数据。OLAP是专门用于处理多维数据集的技术,这些数据间的模式和关系并不清晰。Microsoft® SQL Server 2000 Analysis Services 因其与 SQL SERVER 2000 的紧密集成并且与 SQL Server 后续版本的更紧密的集成,正在成为一种被广泛采纳的 OLAP 处理和数据钻取的选择。

  由于 OLAP 技术的广泛应用,开发人员需要依赖基于OLAP的多维数据源来设计开发报表设计方案。这是一项复杂的工程,因为基于 OLAP 的报表设计或者数据钻取技术,需要更多的灵活性和更高的交互性。数据钻取技术,按照其定义,不是静态的,而是用户可以根据其需要,在构建的多维数据集 立体空间范围内来创建自己所需要的视图。这与传统的基于关系数据库系统(RDBMS)的查询形成鲜明的对比,后者受制于定义好的表间的关系。RDBMS查询无疑是有创造性 的,但有一定的局限性。借助基于OLAP的数据结构,你可以更灵活地进行查询,而传统的静态报表设计对于查询和理解基于OLAP的数据毫无帮助。

  软件开发人员在设计一项基于OLAP的报表设计方案时面临四个方面的问题:

         第一、这项方案必须可以连接并查询多维数据源;

        第二、 这项方案必须保证用户灵活便利地使用数据;

  第三、由于不能预测那些是用户认为重要的数据视图,因此这项方案必须允许用户存储定制的报表设计;第四、这项方案必须提供一个包含图表的可读取的接口,因为包含图表的报表设计在视觉上更有效果。

  请允许我增加第五条:这项方案应该是基于 Web 的,即它应是一个基于服务器的 Web 应用程序,可以通过浏览器进行访问(通过 Internet 或者 Intranet),有了上述五条苛刻的要求,开发者该如何做呢?

  事实上,微软公司提供了一组称为 Office Web Components (OWC) 的组件可以帮助我们构建基于Web 的复杂的、界面友好的基于 OLAP 的方案。 OWC 是一组 COM 控件集,用于在 Web 上发布电子表格(spreadsheets)、数据透视表(pivot tables)和图表(charts),它为用户提供了和 EXCEL 一样丰富的交互体验。同时,它还为开发人员提供了丰富的编程接口,借助于这些功能强大且灵活的接口,开发人员可以设计专业的方案。Figure 1 显示的是 OWC PivotTable 组件,它可以连接到OLAP数据源并借助便利的接口拖放来实现查询操作。

本文的目的旨在解决开发人员的要求,假设他们正在使用 ASP.NET 和 Office Web Components(OWC)开发一个用于Web上的基于 OLAP 的定制 的报表设计方案。我们将提供一个基于 XML 的 Web Services 的一体化应用程序架构,并展示如何建立该应用程序架构并配置OLAP数据源以便通过HTTP协议 来访问。此外,我们还将描述如何向用户部署这个解决方案。大多数Web应用程序完全安装在Web服务器上并且在应用部署时不需要用户的交互操作,但OLAP 和 OWC对想使用你的定制方案的用户提出了一定的要求。 

重要的概念和术语

  OLAP 技术中充斥的专业术语是理解其真正好处的障碍。本文假设读者熟悉 OLAP,尤其是熟悉SQL Server 2000 Analysis Services。即使如此,在继续讨论之前,我们应该首先阐明本文中涉及的以及在广阔的OLAP和数据钻取领域应用的重要术语和概念。

  首先,区分 OLAP 和数据钻取技术是很重要的。基于 OLAP 的数据源或者数据仓库可被细分为一个或多个多维数据集,该多维数据集是一个可以用 MDX 进行查询的多维数据结构。多维数据集 包含一组被称为维度的属性,维度可以大致理解为数据表中的字段,与数据表中的字段不同的是维度中还包含一组级别(level)组成的等级(hierarchy)。例如,一个年历维度可被分为季度级别、月级别、周级别。一个多维数据集中包含一组度量值(measure)。度量值是实际的数值,一般是数值型。例如,你可以通过”零售”多维数据集按时间(维度)和地点(维度)浏览各商品销售情况(度量值)。

  SQL Server 2000 Analysis Services 使你能通过被称作 Analysis Manager 的 MMC 管理单元完成 OLAP 处理。 这只不过是一个被集成到 Analysis Services 的数据透视表接口,基于 OLAP 的数据常常是通过数据透视表来浏览,它允许你 将多个维度和度量值拖放到类似 spreadsheet 的布局中。PivotTable 控件将拖放操作转换为 MDX 查询,然后再由 MDX 查询传送给 OLAP 数据源, 最后返回结果集。

  Analysis Manager 在数据库服务器上安装一个 PivotTable 服务,该服务包含一个允许连接到OLAP 数据源的 OLE DB 提供者(provider)。该提供者被取名为 Microsoft OLE DB Provider for OLAP Services 8.0 ,没有它,你是不可能连接到 OLAP 数据源上的。用于该提供者的连接字符串包括 用于数据仓库的 DataSource 属性和表示拟进行连接的多维数据集名的 DataMember 属性。PivotTable 服务还必须安装在客户机上,否则,客户机上的 PivotTable 控件 将不能与 OLAP 数据源通讯。

基于 Web 的 OLAP 报表应用的框架

  Figure 2 显示了基于Web的OLAP报表应用的大致框架,它包括三个途径,依次编号以展示程序的工作流。他们共同提供了下述的特性:

在程序中 XML 扮演了一个中心角色。OWC PivotTable 控件在本地将其内容序列化为XML格式。你不仅可以写XML格式的数据,而且可以用XML数据来加载PivotTable控件,只要这些XML数据匹配XML Schema。因此ASP.NET开发人员可以创建基于XML的Web Services实现与OWC PivotTable控件的交互访问。一个Web方法产生格式化的XML给PivotTable 控件(Pathway 1), 同时另外一个方法接受来自PivotTable 控件的序列化的输出并保存到永久媒介譬如数据库或文件中。

  一旦在 PivotTable 和 OLAP 数据源间建立好联结,用户就可以借助PivotTable控件中的拖拉UI进行定制的数据查询工作。控件一被更新,它动态产生一个多维表达式(MDX)并通过HTTP网关将请求发送给OLAP数据源(Pathway 2)。这种通讯独立于Web服务器,Web也直接访问数据库。在此结构中,Web服务器的作用是建立在PivotTable和OLAP数据源间的初始化连接,确保定制的PivotTable报表的保存和检索。

  Office Web 组件

  OWC10.0 提供的功能不仅强大而且为用户所熟知。因此,你定制的解决方案能很快得到熟悉并用惯了 Excel 的用户的认可。Figure 3 是随同Office XP一起交付的 OWC 控件 (version 10) 的一个概述 ,注意 随 Office 2000 发布的是 OWC 的前一个版本(version 9),其提供的编程接口和用户接口要逊色得多。虽然我们所讨论的特性并不都支持以前的版本,但大多数 OWC (version 10)的特性都适用于 OWC (version 9)。

 在 Web 项目中使用 OWC 控件时,ASP.NET 开发人员所能使用的资源很少。大多数网上的例子代码都假设你使用客户端的脚本语言(如 VBScript )与 OWC 控件交互。虽然这是一个可行的方法,但它忽略了使用 ASP.NET 更强大的功能的可能性。即创建一个服务器端的 OWC 实例,建立一个连接,设置属性,然后使用这个实例为单独的 PivotTable 控件客户端实例产生 XML 数据。编程逻辑被包含在OLAP Data Access Objects 之中,部分架构示意图参见 Figure 2 中的 Pathway 1。接着,XML 数据通过基于 XML 的 Web Service 传送给客户端组件。见 Pathway 1。

  Figure 4 中列出了我们将在本文中使用的 OWC 控件——即 PivotTable 和 Chart 控件。Spreadsheet 和 DataSourc 控件不在此列,因为它不涉及我们在这里所讨论的体系架构。Figure 5 和 Figure 6 分别概要介绍了 PivotTable 和 Chart 控件各自的编程接口。

  PivotTable 有一个复杂的接口,但其最重要的是 XMLData 属性。这个属性是整个 PivotTable 内容的 XML 表示形式,包括与 OLAP 数据源的连接信息。XMLData 同时还保存有当前视图的维度和量度值以及应用的格式化信息。XMLData 可以被设置和获取,它是动态定制 PivotTable 控件的重要手段。

  为 HTTP 访问配置 OLAP 数据源

  在我们开始着手构建我们的基于 Web 的 OLAP 报表设计程序前,我们必须配置 Analysis Services 数据源以便 IIS 可以访问它。IIS Web站点必须和 Analysis Services 安装在同一服务器上,并且确保在IIS Web站点中包含一个名为 msolap.asp 文件。此文件 提供了 HTTP 端口请求和Analysis Services数据源间沟通的桥梁。Msolap.asp存放在\Program Files\Microsoft Analysis Services\bin目录下。我们建议使用安全套接字层(SSL)认证机制配置一个安全连接(HTTPS)来存取数据源。为此你必须购买用于 Analysis Services 服务器的 SSL 认证。当然,我们也可以使用非安全(HTTP)连接方式来存取数据源,不过我们不建议这样做。

 一旦IIS在 Analysis Services 服务器上安装完毕,配置一个用于 HTTPS 存取的新 Web 站点。首先,在默认的Web根目录(\Inetpub\wwwroot\)外新建一个Web站点目录。为了安全的目的,我们建议停 到默认 Web 站点。除此之外,如果你安装了SSL认证,需要关闭防火墙上的80端口,打开443端口。

  其次,将 msolap.asp 文件从\Program Files\Microsoft Analysis Services\bin 目录拷贝到新建的Web站点目录,使用 IIS 管理器将新建的 Web 站点目录配置为一个 Web 应用,为 Web 站点添加 Host Header Name (例如,olap.mycompany.com)。

  第三,购买并在服务器上安装 SSL 认证。在购买认证过程中确保 Web 站点可以通过 80 端口访问。认证安装完毕后,在防火墙上关闭80端口并打开443端口。使用 IIS 管理器设置 Web 目录的安全以禁止匿名访问,允许 Basic Authentication。最后,重置 IIS 以接受更改。

  HTTPS 创建完毕后,必须更新指向 OLAP 数据源的连接字符串。连接字符串格式如下:Provider=MSOLAP;user id=Domain\Username;password=Password;Data
Source=https://ServerName;Initial Catalog=OLAPDataSourceName

  更详细的信息参见知识库文章(Knowledge Base )Q279489:“How to Connect to Analysis Server 2000 By Using HTTP Connection”.

  安全访问OLAP

  一旦 OLAP 数据源可以通过 HTTPS 来访问,那么安全信任是不可或缺的。因为现在任何一个可以浏览网站的人都有可能访问网站上的数据源。譬如,一个远程用户 只要知道 Analysis Server 的 URL以及 Initial Catalog 的名称,就可以打开 Excel 并将 PivotTable 联接到 OLAP 数据源。

  Analysis Services 实现了基于 Windows NT 用户帐号的多维数据集安全规则。基本思路是在服务器上创建一个或多个本地 Windows NT 用户帐号,赋予它们 SQL Server 数据库角色。然后将该数据库角色赋予给某个多维数据集角色,并绑定该数据库角色到特定的多维数据集。多维数据集角色继承了 Windows NT 用户 ID 和密码,你将用户 ID 和密码添加到 OLAP 数据源连接字符串中即可。

值得注意的是:一个 OLAP 数据源中也许包含多个多维数据集。通过设置 OWC PivotTable 控件中的 <DataMember> XML 标签值为一个有效的多维数据集名(在下一部分解释),你可以连接到特定的多维数据集。这个多维数据集必须被赋予一个角色,该角色与 OLAP 数据源连接字符串中的信任对应。 

  建立应用程序

  现在是我们用 ASP.NET 和 OWC 10 建立应用程序的时候了。该应用程序的用户界面包含在一个名为 owc10.aspx 的 Web Form 中, 如 Figure 7 所示。界面中包含一个内嵌的客户端的 OWC PivotTable 控件和一组按钮,分别用于激活 OLAP 数据源连接、保存和获取定制的报表。 这些功能由 wsOLAP.asmx 中的 XML Web Service 通过一组 Web 方法直接提供。olap.js 脚本文件中是一组客户端的 JavaScript 函数,用户接口使用 这些函数与上述 Web 方法挂钩。这些 JavaScript 函数通过在客户端调用这些方法将大多数请求委托给 Web Service。在一个DHTML 行为文件Webservice.htc中,实现了上述 上述功能。在olap.js文件中,用户接口使用一组客户端的JavaScript函数调用了上面的Web 方法。实现对Web Service的访问。这些都是在一个 DHTML 行为文件 Webservice.htc 中完成的。

  Figure 7 Web-based OLAP 报表设计程序

  本文例子程序被称为 OLAPReport,使用 Visual Studio.NET 1.1 版本开发,使用 Foodmart 2000 数据仓库作为 其 OLAP 数据源,并且以 Sales 多维数据集作为其数据成员。 Foodmart 2000 是和 SQL Server 2000 Analysis Services 一起安装的例子数据库。

  如果你已经下载并安装了例子工程文件,你必须完成以下几步以便保证其正常工作。首先,更改OLE DB 连接字符串,应用程序会用他访问 OLAP 数据源。 该连接字符串被存储在 Web.config 文件中作为应用程序的自定义设置。

 

<appSettings>
   <add key="OLAPConnectionString" value="Provider=MSOLAP.2";
    Data Source=https://ServerName;Initial Catalog=Foodmart 2000>
</appSettings> 


注意这个连接串没有包含安全信任(如 User ID 和 password),只有在 Analysis Server 中实现了安全规则时才需要这些信任, 如前所述,我们鼓励你添加安全规则。一旦你准备就绪,只要简单地将此信任加到连接串的尾部即可。

  为了让该连接串工作,不要忘了配置用 HTTP 可以存取 Analysis Server。配置步骤在本文前面也有描述。项目初始设置使用 http://localhost/olap 作为其数据源,因此,你需要在默认的 Web 站点下 创建一个名为 olap 的虚拟目录,并将 msolap.asp 文件拷贝到该虚拟目录下。简单一点,你可以用你的机器名替代 Data Source 的值,省略前导 https:// 部分。这将允许到标准 OLAP 数据源的连接,而不是 HTTP 连接。如果出于示范目的,这样做是可以的。 但是如果你不启用 HTTP 存取,你就无法将 Analysis Server 暴露给网络域外的用户。

  最后,在你继续网下做之前,需要在 OLAPReport 项目中设置到 OWC10 COM 组件的引用(通常,Setup 项目会负责此事,但知道这个步骤总是很有用的)。其设置步骤如下:打开 Solution Explorer,鼠标右键点击项目图标,从弹出菜单中选择 Add Reference。出现对话框后,切换到 COM 标签,查找名为 Microsoft Office XP Web Components (OWC10.DLL) 的组件。点击 Select 按钮,然后 OK 按钮。Visual Studio .NET 自动产生一系列该组件的包装文件并添加 OWC10 的项目引用。

  连接控件和数据源

  现在依次实现应用程序的三个特性。第一,讨论 Pathway 1 —— 如何在客户端的 OWC 控件和OLAP 数据源间建立连接。使用用户界面上的 Set Connection 按钮实现本功能。此按钮调用JavaScript 函数 initializePivotTable 并使用多维数据集名作为参数。本例中使用 Sales 多维数据集。

JavaScript 继而调用 InitializePivotTableXML Web 方法(在名为 InitializePivotTableXML Web 的 DHTML 行为中实现,参见本文前述内容)。此 Web 方法连接到 OLAP 数据源并且产生PivotTable 控件的 XMLData,其输出由一个 JavaScript 函数 onInitializePivotTableResult 处理。Figure 8 是 JavaScript 的代码,而 Figure 9 是 Web方法的代码。这两个例子中的代码好就好在不仅很简单,而且还可以重用。通过简单的步骤,我们就可以使用这些函数在 Web 服务器上产生定制的 XMLData 并将其传到客户端的 PivotTable 去。

  第二,在建立连接的过程中,我们有效地使用 Sales 多维数据集的空白报表初始化 OWC 控件。空白报表使用多维数据集中的字段信息和度量值填充 Field List,通过拖放字段进 Row 和 Column域,将 Measures 拖拽到 Totals 域,用户可以在 PivotTable 中创建定制的报表。每次用户拖放字段到 PivotTable 去,后者向数据源发送查询请求,然后得到数据源的更多的查询结果。数据交换 是由 Web Service 单独管理的,只有在控件与数据源建立初始化连接时才使用它。Figure 2 中显示了数据交换的通道 Pathway 2。

  动态产生定制的 PivotTable 报表

  现在让我们通过编程实现一个定制的报表来深入 PivotTable 对象模型。我们想要新建的定制报表允许用户选择两个城市,并且比较 Drinks Product Family 的 Store Sales。我们使用和 Pathway 1 一样的方法,这意味着我们调用 Web 方法以便产生描述报表的 XMLData。然后我们将 Web 方法返回的 XMLData 赋值给控件的 XMLData 属性。界面提供了两个下拉式的城市列表和一个 Load Custom Report 按钮(参见 Figure 7)。此按钮激活一个名为 LoadCustomReport 的 JavaScript函数,该函数接受来自 Web 表单的两个城市作为输入参数,继而调用 LoadCustomPivotTableReport Web 方法,该方法为定制报表产生 XMLData。最后,一个 JavaScript 处理函数从 Web 方法中接受 XMLData 并赋值给内嵌的 PivotControl 的 XMLData 属性。Figure 10 是 Web 方法的代码。

LoadCustomPivotTableReport 方法使用了大量的 PivotTable 的属性(参见 Figure 5)。请务必牢记以下几点:

       保存和获取定制的报表

  既然我们已经将报表的产生过程经历了一遍,我们不希望每次产生新报表时都重复这项工作。可喜的是,用于复制报表的数据保存在 XMLData 属性中。因此,保存报表的工作变得很简单,只需将XMLData 属性保存在可永久存放的介质,如关系数据库中即可。加载报表的工作同样简单,只需获得保存的 XMLData 并 将它重新绑定到 PivotTable 上即可。这个特点如 Figure 2 中的 Pathway 3 所示。

  应用程序的 Web Service 中有两个方法,分别用于保存和获取定制报表的 XMLData。在例子中,我们将 XMLData 保存在名为 OLAPReport1.xml 的文本文件中。程序界面提供了两个按钮:Save Report 和 Load Saved Report。Save Report 按钮调用一个 JavaScript 将 PivotTable 控件的 XMLData 发送到下面的 Web方法中:

function SaveReport() {
  // Purpose: Call Web Service method to save the report
  var strReportXMLData = frm1.PivotTable1.XMLData;
  var iCallID = service.svcOLAP.callService(onSaveReportResult,
    ''SaveReport'', strReportXMLData, ''OLAPReport1.xml
} 


  此 Web 方法紧接着将 XMLData 写入一个文件。Load Saved Report 按钮则调用一个 JavaScript函数完成反向的工作,如 Figure 11 所示。此函数调用一个 Web 方法打开文本文件,获取 XMLData,然后回传用以绑定 PivotTable 控件。

   使用 OWC 事件

  OWC 10 提供了几个有用的事件供我们在客户端事件处理中使用。可以用 VBScript 或 JavaScript 来写事件处理程序。VBScript 中事件处理格式如下:

Sub <ObjectName>_<EventName>JavaScript 中的语法如下:<script language="javascript" event="EventName" for="ObjectName">    例子程序中演示了如何捕捉 Query 和 CommandExecute 事件。事件处理代码参见 Figure 12。当Query 事件被激活时,程序在 Web 页的左边文本框中填写事件日志。CommandExecute 事件被激活后,我们首先检查是否它是个刷新命令。如是,程序在文本框中填写事件的日期和事件日志。

  绑定图表到 PivotTable 控件

  在多数情况下,图形化的数据表示对用户试非常有价值的。幸运的是,OWC 提供了 ChartSpace 控件,后者提供了图形化的函数。为了改进定制报表,我们使用条形图来表示数据。虽然这似乎是项艰巨的工作,但 ChartSpace 控件可极大地帮助我们解决这个难题。ChartSpace 控件有用的特征之一是它能将另外控件, 如 PivotTable 绑定为它的数据源,其还可以以图形格式显示当前的 PivotTable 视图。最终的结果是 PivotTable 视图的变化会自动地显示在 ChartSpace 控件中。

  在例子中,当产生了定制的 PivotTable 报表后,我们只需将 PivotTable 赋值到 ChartSpace 控件的 DataSource 属性去即可。 frm1.ChartSpace1.Clear();

frm1.ChartSpace1.DataSource = frm1.PivotTable1;
// Set the chart type to 3DBar。
frm1.ChartSpace1.Charts(0).Type = 50;  


在为 DataSource 属性赋值前需要调用 Clear 方法以清除以前图表的实例。ChartSpace 控件提供了许多定制的属性,包括Type属性,其接受一个 ChartChartTypeEnum 值以定义图表的格式。

创建定制分组

  最后,让我们一起去看一下 OWC 10 最重要的新特性——新建定制分组的功能。当前我们的报表按照 Time 字段来分组 sales 度量值。在此例子中,时间依照年/月/日顺序分组。如果我们在定制的报表中不想使用多维数据集中定义好的分组模式,我们可以使用 OWC 10 控件中的定制分组功能。Apply Custom Grouping 按钮调用一个 JavaScript 函数,后者调用 ApplyCustomGrouping Web方法。输入参数为当前加载的项目的 XMLData。此 Web 方法将加载一个 PivotTable 控件并调用AddCustomGroupField 方法定义定制分组,例子中使用半年时间来分组。代码见 Figure 13。

  注意我们添加一个有两个成员("1stHalf" 和 "2ndHalf")的定制分组("CustomGroup1")以涵盖整年。调用 AddCustomGroupMember 方法以添加上述的定制成员。当 Web 页面上的函数执行时,ChartSpace 控件可以自动将定制分组功能反映到条形图表中——这也是使用 Office Web Components 10 的优点。

  还有一个与定制分组有关的问题。XMLData 不保存与定制分组名相关的数据。如果保存 XMLData (如前面 Save Report 函数所执行的)后,再将保存的 XMLData 加载到 PivotTable,定制分组的标题栏("1stHalf", "2ndHalf")以 GUIDs 形式显示。尽管如此,OWC 10 组件与以前版本相比,有了大的改进,并因此成为基于 Web 的 OLAP 报表设计的非常有效的工具。

  对 HTTP 客户端要求

  既然我们已经构建了我们基于 Web 的 OLAP 报表设计程序,为了使用该程序,每个 Web 用户必须进行如下配置。第一、每个 Web 用户须安装 Office XP 到自己计算机上。或者,他必须有权访问一个服务器上授权的 Office XP,因为 OWC 组件是与 Office XP一起发行的。

 第二、每个 Web 用户必须使用 Internet Explorer 5.0 或更高版本。因为 Web 程序使用了 Web Service DHTML 行为,需要 Internet Explorer 5.0 或更高版本的支持。此外,客户端的 OWC 组件是 Microsoft COM 组件,只能在微软的浏览器下运行。(我们也知道其它一些浏览器也提供了支持客户端 COM 控件的插件,但我们没有在这些浏览器下测试过 OWC)。

  第三、每个 Web 用户必须正确安装了 OLE DB 供应者,尤其是 Microsoft OLE DB Provider for OLAP Services 8.0 或更高版本。该供应者与分布式的 PivotTable Services 一起安装,后者包括一组 DLL 文件并且需要 Microsoft Data Access Components (MDAC)的支持。PivotTable Service 可以从 SQL Server 2000 CD-ROM 的\Msolap\Install\Pts 目录下安装。可以选择安装 PtsLite.exe 或 PtsFull.exe,后者安装 PivotTable Service 和 MDAC,而前者仅安装 PivotTable Service。如果你不能确定你需要哪种版本,安装 PtsFull.exe 即可。因为只有 Microsoft Analysis Services 能自动安装服务,所以你还需在每个 Web 客户机上安装 PivotTable Service。你可以使用 Excel PivotTable 向导去检测 Web客户机上是否已经安装了 PivotTable Service。

  第四、每个 Web 客户必须将应用程序的 Web 域添加到其 IE 的受信站点清单中去。因为应用程序驻留在不同于客户机的域上,因此 OWC PivotTable 控件每次必须跨域去访问 OLAP 数据源。所以,程序的 Web 域必须置于客户机受信任的站点内。具体配置方法如下:打开IE——点击 Tools| Options——选择 Security 标签——点击 Trusted 图标——点击 Sites 按钮。

你也可以采取另外一种办法:为客户提供一个注册文件以自动更新客户的受信站点。以下是一个注册键的例子:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings\ZoneMap\Domains\mycompany.com] "https"=dword:00000002  

 注意,注册文件对同一客户机上的不同用户必须分别运行,因为其只更新 HKEY_CURRENT_USER下的注册键值。例如,如果两个域用户共享同一机子,那末他们必须以各自的账号登陆后分别运行注册文件。

  结论

  基于 Web 的 OLAP 报表解决方案提供了诱人的技术挑战,因为其设计多项复杂的技术,包括 SQL Server 2000 Analysis Services、Office Web Components、XML和 ASP.NET。在本文中搭建的体系是为了最大限度地发挥各项技术的特点。相信将来 肯定会有更多此类体系架构以解决不同的问题。

 

Sql Server 2008 安装常见问题

在Windows Server 2008安装SQL Server 2008出现的问题: 安装时在“服务器配置”环节出现以下问题: 为sql server代理服务提供的凭据无效 为sql server...
  • KevinwuwenboA
  • KevinwuwenboA
  • 2016年12月27日 01:24
  • 798

【SQL】安装SQl 2008为SQL Server代理服务提供的凭据无效的解决办法

sql server 2008 代理服务提供的凭据无效 sql server 2008 代理服务提供的凭据无效    在Windows Server 2008安装SQL Server 20...
  • catshitone
  • catshitone
  • 2014年10月14日 16:30
  • 1095

安装SQL Server 2000出现“以前进行的程序安装创建了挂起的文件操作”的解决办法

SQL Server补丁安装常见问题 谁碰到问题就看看咯: 一、补丁安装过程中常见问题  如果在安装补丁的时候遇到如下类似错误:  1、安装过程中出现“以前进行的程序创建了挂起的文...
  • kepa520
  • kepa520
  • 2015年07月23日 17:05
  • 290

Sql Server2012 报表服务中的SharePoint集成模式配置(转)

在sql server2012报表配置管理器上没有“sharepint集成”模式选择项(采用新建),如下图: 怎么回事情呢?后来通过查询资料才知道,如下: 重要提...
  • zmoneyz
  • zmoneyz
  • 2014年01月14日 22:44
  • 4252

连接AnalysisServices时失败并且提示“请确保 "SQL Browser" 服务正在运行”的解决办法

连接AnalysisServices时失败 提示如下 标题: 连接到服务器 ------------------------------ 无法连接到 YYG\SQL2008R2。 ---...
  • cupid0051
  • cupid0051
  • 2013年07月21日 14:31
  • 6224

SQL Server 2000 创建角色,用户,权限(转)

创建角色,用户,权限 /*--示例说明         示例在数据库pubs中创建一个拥有表jobs的所有权限、拥有表titles的SELECT权限的角色r_test     随后创建了一个...
  • xiuping05214
  • xiuping05214
  • 2013年12月05日 15:03
  • 1671

SQL Server 2000/2008导入导出数据表

SQL Server 2000/2005/2008将excel导入数据库表、将一个数据库的数据表导入到另一个数据库,也可以是2台电脑/云服务器上的数据库的数据表之间的导入方法一样。数据表的导出方法相仿...
  • Gordennizaicunzai
  • Gordennizaicunzai
  • 2016年02月28日 22:18
  • 1134

ReportingServies——SQLServer报表开发综合实例

上一篇:ReportingServies报表开发实例教程 如果我们安装了sqlserver2008 R2,将会自动安装一个报表开发工具 不要以为此报表开发工具只适合于sqlserver2008,...
  • zouyujie1127
  • zouyujie1127
  • 2015年01月27日 19:03
  • 19017

将sql server 2000的备份文件导入到sql server 2012中

将sql server 2000的备份文件导入到sql server 2012中
  • jhope
  • jhope
  • 2017年04月04日 05:58
  • 555

解决SQL server 2000 个人版 XP能用 不能在win7 64位系统上安装的问题

最近学习到数据库这个课程,但是看见
  • u013628862
  • u013628862
  • 2014年11月24日 15:09
  • 5768
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET、OWC 和 SQL Server 2000 Analysis Services 构建了基于 Web 的 OLAP 报表应用
举报原因:
原因补充:

(最多只允许输入30个字)