AdomdConnection Class

Represents a connection to a multidimensional data source.

Inheritance Hierarchy

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      Microsoft.AnalysisServices.AdomdClient.AdomdConnection

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

Syntax

'Declaration
Public NotInheritable Class AdomdConnection _
    Inherits Component _
    Implements IDbConnection, IDisposable, ICloneable
'Usage
Dim instance As AdomdConnection
public sealed class AdomdConnection : Component, 
    IDbConnection, IDisposable, ICloneable
public ref class AdomdConnection sealed : public Component, 
    IDbConnection, IDisposable, ICloneable
[<SealedAttribute>]
type AdomdConnection =  
    class 
        inherit Component 
        interface IDbConnection 
        interface IDisposable 
        interface ICloneable 
    end
public final class AdomdConnection extends Component implements IDbConnection, IDisposable, ICloneable

The AdomdConnection type exposes the following members.

Constructors

  Name Description
Public method AdomdConnection() Initializes a new instance of the AdomdConnection class with default values.
Public method AdomdConnection(String) Initializes a new instance of the AdomdConnection class by using the specified connection string.
Public method AdomdConnection(AdomdConnection) Initializes a new instance of the AdomdConnection class by using values from a specified AdomdConnection class. The session identifier and command state are not the same.

Top

Properties

  Name Description
Public property ClientVersion Gets the version of the ADOMD.NET client that implements the AdomdConnection.
Public property ConnectionString Gets or sets the string that the AdomdConnection uses to open an analytical data source.
Public property ConnectionTimeout Gets the time to wait for a connection to be established before the AdomdConnection stops trying to connect and generates an error.
Public property Container (Inherited from Component.)
Public property Cubes Gets an instance of a CubeCollection that represents the collection of cubes contained by an analytical data source.
Public property Database Gets the name of the database to be used after the AdomdConnection is open.
Public property MiningModels Gets an instance of a MiningModelCollection that represents the collection of mining models that an analytical data source contains.
Public property MiningServices Gets an instance of a MiningServiceCollection that represents the collection of mining services that an analytical data source contains.
Public property MiningStructures Gets an instance of a MiningStructureCollection that represents the collection of mining structures that an analytical data source contains.
Public property ProviderVersion Gets the version of the XML for Analysis provider that the AdomdConnection uses.
Public property ServerVersion Gets the version of the server used that the AdomdConnection uses.
Public property SessionID Gets or sets the string identifier of the session that the AdomdConnection opened with the server.
Public property ShowHiddenObjects Gets or sets a value that indicates whether hidden objects are returned.
Public property Site (Inherited from Component.)
Public property State Gets the current state of the AdomdConnection.

Top

Methods

  Name Description
Public method BeginTransaction() Begins a new transaction.
Public method BeginTransaction(IsolationLevel) Begins a new transaction with the specified IsolationLevel enumeration value.
Public method ChangeDatabase Changes the current database of the open AdomdConnection.
Public method Clone Creates and returns an instance of an AdomdConnection based on the current AdomdConnection. Session ID and state are not cloned.
Public method Close() Closes the connection to the database and ends the session.
Public method Close(Boolean) Closes the connection to the database, indicating whether to end the session.
Public method CreateCommand Creates and returns an AdomdCommand that is associated with the AdomdConnection.
Public method CreateObjRef Security Critical. (Inherited from MarshalByRefObject.)
Public method Dispose (Inherited from Component.)
Public method Equals (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Public method GetLifetimeService Security Critical. (Inherited from MarshalByRefObject.)
Public method GetSchemaDataSet(Guid, array<Object[]) Returns schema information from a data source by using a Guid object to specify which schema information to return and by applying any specified restrictions to the information.
Public method GetSchemaDataSet(String, AdomdRestrictionCollection) Returns schema information from a data source by using a schema name to identify which schema to retrieve and by applying any specified restrictions to the information.
Public method GetSchemaDataSet(Guid, array<Object[], Boolean) Returns schema information from a data source by using a Guid object to identify the information, applying any specified restrictions on the information, and optionally throwing an exception when inline errors occur.
Public method GetSchemaDataSet(String, AdomdRestrictionCollection, Boolean) Returns schema information from a data source by using a schema name to identify the information, applying any specified restrictions to the information, and optionally throwing an exception when inline errors occur.
Public method GetSchemaDataSet(String, String, AdomdRestrictionCollection) Returns schema information from a data source by using a schema name and namespace to identify the information, and by applying any specified restrictions to the information.
Public method GetSchemaDataSet(String, String, AdomdRestrictionCollection, Boolean) Returns schema information from a data source by using a schema name and namespace to identify the information, applying any specified restrictions to the information, and, optionally throwing an exception when inline errors occur.
Public method GetType (Inherited from Object.)
Public method InitializeLifetimeService Security Critical. (Inherited from MarshalByRefObject.)
Public method Open() Opens a connection with an analytical data source by using the settings specified in the ConnectionString property of the AdomdConnection.
Public method Open(String) Infrastructure. Opens a connection with an analytical data source by using the specified path..
Public method RefreshMetadata Forces the connection to repopulate all metadata from the server.
Public method ToString (Inherited from Component.)

Top

Events

  Name Description
Public event Disposed (Inherited from Component.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IDbConnection.BeginTransaction() Begins a database transaction.
Explicit interface implemetationPrivate method IDbConnection.BeginTransaction(IsolationLevel) Begins a database transaction with the specified isolation level value.
Explicit interface implemetationPrivate method ICloneable.Clone Creates and returns an instance of an AdomdConnection based on the current AdomdConnection. Session ID and state are not cloned.
Explicit interface implemetationPrivate method IDbConnection.CreateCommand Creates a new AdomdCommand associated with this connection and returns its IDbCommand object.

Top

Remarks

The AdomdConnection represents a connection with an analytical data source (for example, a connection to an instance of Microsoft SQL Server 2005 Analysis Services (SSAS)). Each connection is associated with an XML for Analysis session. If an AdomdConnection goes out of scope, the connection is not closed. To close the connection, you must explicitly call the Close or Dispose method of the AdomdConnection. If the Close or Dispose method is not called, the session associated with the AdomdConnection remains active and can be reused by another AdomdConnection. For more information about managing sessions, see Working with Connections and Sessions in ADOMD.NET and SessionID.

Examples

The following subroutine uses the given arguments to build a connection string that the subroutine uses to try to connect to a specified instance of Analysis Services and return an AdomdConnection:

Public Function Connect(Optional ByVal ServerID As String = "localhost", _
    Optional ByVal DatabaseID As String = "", _
    Optional ByVal UserID As String = "", _
    Optional ByVal Password As String = "") As AdomdConnection

    Dim strConnectionString As String
    Dim objConnection As AdomdConnection

    Try
        ' First, build the connection string.
        ' 
        ' The ConnectionString property consists of 
        
        ' key/value pairs seperated by semicolons.
        ' - The format, as a regular expression, should be:
        ' (<Key>=<Value>)*([[;]/*(<Key>=<Value>)])

        ' The connection string can take "Datasource", "Data Source", 
        ' or "Location" for this parameter.
        If ServerID <> "" Then
            strConnectionString &= "Data Source=" & ServerID & ";"
        End If

        ' The connection string can take "Catalog" or "Initial Catalog" 
        ' for this parameter.
        If DatabaseID <> "" Then
            strConnectionString &= "Initial Catalog=" & DatabaseID & ";"
        End If

        ' The connection string can take "UID", "User ID", 
        ' "Authenticated User", or "UserName" for this parameter.
        If UserID <> "" Then
            strConnectionString &= "User ID=" & UserID & ";"
        End If

        ' The connection string can take "PWD" or "Password" 
        ' for this parameter.
        If Password <> "" Then
            strConnectionString &= "Password=" & Password & ";"
        End If

        ' Get a reference to an AdomdConnection object.
        objConnection = New AdomdConnection()

        ' Assign the connection string and try to 
        ' open a connection.
        objConnection.ConnectionString = strConnectionString
        objConnection.Open()

        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)
        Catch ex As AdomdErrorResponseException
            ' A response is received from a provider that indicates an error.
            Debug.WriteLine(ex)
        Catch ex As AdomdUnknownResponseException
            ' A response has been returned from the provider that 
            ' was not understood.
            Debug.WriteLine(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)
        Catch ex As AdomdException
            ' Any other error raised by ADOMD.NET.
            Debug.WriteLine(ex)
        Catch ex As Exception
            ' Any other error that occurs.
            Debug.WriteLine(ex)
    Finally
        Debug.Write("The connection ")
        If objConnection.State = ConnectionState.Open Then
            Debug.WriteLine("is connected!")
        Else
            Debug.WriteLine("failed to connect!")
        End If
    End Try
    
    ' Return the AdomdConnection object.
    Return objConnection
End Function

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.

See Also

Reference

Microsoft.AnalysisServices.AdomdClient Namespace