现在的位置: 首页 > 综合 > 正文

微软DSO资料

2013年12月24日 ⁄ 综合 ⁄ 共 3306字 ⁄ 字号 评论关闭

DSO决策支系统程序员参考

 

概述

微软SQL Server 2000分析服务为你提供了真正的机会来创建与整合自定义应用程序。服务器对象模型DSO提供了能通过COM自动化程序语言(如VB5.0与后续版本)来使用的接口与对象。此外,VC++程序员也可以使用DSODSO对象同时支持早期或延后绑定。

程序员参考提供了使用DSO的细节信息,以用于开发与分析服务器交互的自定义应用程序。关于使用AS的其它程序工具的更多信息,请参阅“编写AS应用程序”一节。

本部分的主题覆盖了以下内容:

主题

描述

Interfaces(接口)

关于你编程操作DSO对象的每个接口的细节,包括接口管理的集合、方法与属性。

Events(事件)

DSO对象支持的事故明细,包括数据库报告与对象处理事件。

Objects(对象)

关于DSO对象的信息。对象的主题由它们拥用的默认接口提供,还包括特定对象的集合、方法与属性。

Enumerations(枚举)

DSO提供的枚举细节与关于如何使用它们的信息

Collections(集合)

DSO中使用的关于集合的信息,包括应用这些集合的常用方法与属性。

 

接口

DSO中有话多接口。对象拥有相似功能实现的公共接口。举几个例子:数据库、多维数据集、分区,以及聚合实现了MDStore接口。MDStore对象是一个多维数据容器。数据库包含多维数据集的关系信息,多维数据集包含存储数据的分区,以及聚合是分区中预先计算好的关联数据的摘要。MDStore对象拥有类似的结构。它们包含分类数据的维度集合,指定关系数据管理系统的数据源包含事故和维度表,定义安全权限的规则,等等。

给一个参考给MDStore接口或其它DSO接口,你能通过测试ClassType属性来确定是哪个类型的对象。实现了MDStore接口的对象可以是以下类型:clsDatabaseclsCubeclsPartitionclsAggregation。贯穿本参考,DSO对象都用前缀符号“cls“标识。DSO 类类型枚举包括所有DSO类类型的完整列表。

不是所有对象都用相同的方法来实现公用接口的,一些对象不实现所有的接口属性、方法与集合。例如,数据库对象(clsDatabase)实现了MDStore公用接口的BeginTrans方法,但立方对象(clsCube)则没有实现。一些对象限制处理某些属性以例于它他成为只读属性,而不是可读/写的。如果你尝试处理一个没有实现的属性或调用一个没有实现的方法,DSO会抛出一个错误。

DSO暴露了CommandDimensionLevelMDStoreMeasure,及Role通用接口。下表列出了DSO通用接口及实现它们的对象类型。

接口

描述

实现对象

Command

Command接口暴露了定义与管理在客户端与AS上执行MDX语句的功能

clsDatabaseCommand

clsCubeCommand

clsRoleCommand

Dimension

Dimension接口定义了属性、方法与集合,你可以用来操作不同类型的维度:数据库维、多维数据集维、分区维以及聚合维。

clsCubeDimension

clsPartitionDimension

clsAggregationDimension

Level

Level接口定义了对象来说明维度的层次

clsDatabaseLevel

clsCubeLevel

clsPartitionLevel

clsAggregationLevel

MDStore

实现MDStore接口的对象均包含以下维:

数据库、多维数据集、分区与聚合

clsDatabase

clsCube

clsPartition

clsAggregation

Measure

实现Measure接口的对象描述了存储在多维数据集,分区,与聚合中的值。

clsCubeMeasure

clsPartitionMeasure

clsAggregationMeasure

Role

实现Role接口的对象包含数据库、多维数据集,与数据挖掘模型的处理权限

clsDatabaseRole

clsCubeRole

clsMiningModelRole

 

一些DSO对象没有实现通用接口。你可以使用这些对象的默认接口:clsServerclsDataSourceclsMiningModelclsColumnclsCubeAnalyzerclsPartitionAnalyzer,与clsMemberProperty

 

备注:

DSO类库暴露了许多对象类,例如CubeDatabasePartitionCubeDimension等等。这些对象保留到将来使用并且有意不使用在DSO应用程序中。你应使用通用接口来代替。举个例子,使用以下代码来创建一个类类型为clsDatabase的对象(一个数据库对象实现了MDStore接口):

‘Assume an object (dsoServer) of ClassType clsServer exists.

‘Add database object to server's MDStores collection.

Dim dsoDB As MDStore  

‘Declare the object by the interface.

Set dsoDB = dsoServer.MDStores.AddNew("MyDB")

 

经常使用恰当的对象的通用接口。举个例子,主要的对象类型都使用了MDStore接口作为它们的专用接口。下面的代码例子显示了使用Cube对象的专用接口:

' INCORRECT - DO NOT USE.

private dsoCube As DSO.Cube  

' CORRECT

Private dsoCube As DSO.MDStore   

这个规则的唯一例外就是Database对象。如果你的客户端应用程序需要捕获数据库事件,对象的许多接口应用MDStore来代替,如下面的代码所示:

' Use this statement if you do not need to trap events.

Public dsoDB as DSO.MDStore 

' Use this statement if you need to trap events.

Public WithEvents dsoDB as DSO.Database 

Command接口

DSO中,某些对象可以包含一组用户自定义的命令,以便于你处理对象时这些命令在数据透视表服务客户端自动执行。这些命令可以包括MDX表示的表达式,如定义计算成员,命名集,库资源,及其它命令。

安全提示 命令可能是安全漏洞源;它们可以调用系统或用户自定义的函数而不需要用户知识或干预,且包含存储在简单文本中的安全许可。在实现这些命令前,回顾一下安全问题的命令文本。

实现了Command接口的对象,CubeCommandDBCommand,与RoleCommand,属性ClassType都有各自的值clsCubeCommandclsDatabaseCommandclsRoleCommandCommand接口提供了集合、方法与属性来操作这些对象。

应用于:

clsCubeCommand

clsDatabaseCommand

clsRoleCommand

集合:

Command接口包含以下集合:

集合

描述

CustomProperties

Command对象的用户自定义属性

方法:

Command接口包含以下方法:

方法

描述

Clone

拷贝一个已存在的对象到相同类型的目标对象。

LockObject

锁定一个对象

UnlockObject

解锁一个先前被锁定的对象

Update

保存Command对象的定义到元数据知识库中。

属性:

命令接口支持以下属性:

属性

描述

ClassType

返回标识特定类类型的枚举常量。

CommandType

返回标识命令用途的枚举常量。

Description

设置或返回命令对象的描述。

IsValid

指出NameStatement属性是否为空,命令对象是否属于一个集合

Name

设置或返回命令对象的名称

OrdinalPosition

返回命令对象在父对象MDStoreCommands集合中的索引号

Parent

抱歉!评论已关闭.