Share via


CubeCollection Class

Contains a read-only, on-demand list of CubeDef objects contained by an AdomdConnection.

Namespace:  Microsoft.AnalysisServices.AdomdClient
Assembly:  Microsoft.AnalysisServices.AdomdClient (in Microsoft.AnalysisServices.AdomdClient.dll)

Syntax

'Declaration
Public NotInheritable Class CubeCollection _
    Implements ICollection, IEnumerable
'Usage
Dim instance As CubeCollection
public sealed class CubeCollection : ICollection, 
    IEnumerable
public ref class CubeCollection sealed : ICollection, 
    IEnumerable
[<SealedAttribute>]
type CubeCollection =  
    class
        interface ICollection
        interface IEnumerable
    end
public final class CubeCollection implements ICollection, IEnumerable

Examples

The following subroutine, given a connected instance of an AdomdConnection, iterates through the CubeCollection collection and displays various properties:

Public Sub ListCubes(ByRef ConnectionToCheck As AdomdConnection)

    ' Check the parameter before performing actions on it.
    If ConnectionToCheck Is Nothing Then
        Throw New System.ArgumentNullException("ConnectionToCheck")
    ElseIf ConnectionToCheck.State <> ConnectionState.Open Then
        Throw New System.ArgumentException( _
            "The specified connection is not open.")
    Else
        ' Iterate through the Cubes collection of the
        ' AdomdConnection object.

        Try
            ' Note that this example does not provide 
            ' information about the various collections, such as
            ' NamedSets, provided by the Cube object. Because
            ' these collections are loaded on demand, you should
            ' reference them only if you need information
            ' from them.
            Dim cubeToCheck As CubeDef

            Debug.WriteLine("Found " & ConnectionToCheck.Cubes.Count & _
                " cubes in database:")

            For Each cubeToCheck In ConnectionToCheck.Cubes
                Debug.WriteLine("Cube:  " & cubeToCheck.Name)
                Debug.WriteLine("  Caption:        " & _
                    cubeToCheck.Caption)
                Debug.WriteLine("  Description:    " & _
                    cubeToCheck.Description)
                Debug.WriteLine("  LastProcessed:  " & _
                    cubeToCheck.LastProcessed)
            Next
        Catch ex As AdomdConnectionException
            ' The connection could not be opened or was disconnected.
            ' This error can occur at any time, if the provider is 
            ' disconnected from the server.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdErrorResponseException
            ' A response is received from a provider which indicates an error.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdUnknownResponseException
            ' A response has been returned from the provider that 
            ' was not understood.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdCacheExpiredException
            ' A cached version of an ADOMD.NET object is no longer valid.
            ' This error is typically raised when reviewing metadata.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As AdomdException
            ' Any other error raised by ADOMD.NET.
            Debug.WriteLine(ex)
            Throw ex
        Catch ex As Exception
            ' Any other error.
            Debug.WriteLine(ex)
            Throw ex
        End Try
    End If
End Sub

Inheritance Hierarchy

System.Object
  Microsoft.AnalysisServices.AdomdClient.CubeCollection

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.