There are two major object classifications in Microsoft® SQL Server™ OLAP Services Decision Support Objects (DSO):
Note A class type designation using the format clsClassType, such as clsServer, is used internally by DSO and does not necessarily correspond to a class definition in Microsoft Visual Basic®.
For more information, see Interfaces.
When managing objects of ClassType clsCubeAnalyzer, clsDatasource, clsMemberProperty, clsPartitionAnalyzer or clsServer, which do not implement a shared interface, you access the object directly using normal Visual Basic syntax. For example, use the following code to create an object of ClassType clsServer and connect to an OLAP server:
'Code to instantiate a Server object
'Declaration section
Option Explicit
Public dsoServer As DSO.Server
...
Private Sub Form_Load()
On Error GoTo FormLoad_Err
Dim strServer As String
strServer = InputBox("Server to attach to: ", "Attach to Server")
Set dsoServer = New DSO.Server
dsoServer.Connect (strServer)
Exit Sub
FormLoad_Err:
Debug.Print "Error connecting to server"
Debug.Print Err.Number, Err.Description
Err.Clear
Debug.Assert False
End Sub
The DSO object model uses interfaces to simplify your interaction with groups of related objects, while maintaining parent-child inheritance throughout the object model hierarchy. For more information about the complete hierarchy, see About Decision Support Objects.
Each DSO object that implements a DSO interface belongs to one of the following categories:
The uniqueness of multiple DSO objects within the same category is determined by where each is contained within the overall DSO object model hierarchy. For example, a cube can contain several dimensions. These dimension objects are contained in the cube’s Dimensions collection. Each of these dimension objects is a DSO object of ClassType clsCubeDimension.
Each cube also contains a collection of partition objects. Each of these partition objects also contains a collection of dimension objects in its Dimensions collection. Each of these dimension objects is a DSO object of ClassType clsPartitionDimension.
Although the DSO objects of ClassType clsCubeDimension and clsPartitionDimension are both dimension objects, their methods and properties are unique because of the parent objects in which their collections are contained. The DSO object model groups such objects together and manages them by the implementation of a common interface.