Aufbauen von Verbindungen in ADOMD.NET

In ADOMD.NET wird das AdomdConnection-Objekt verwendet, um Verbindungen mit analytischen Datenquellen herzustellen, wie z. B. Microsoft SQL Server Analysis Services-Datenbanken. Wenn die Verbindung nicht mehr benötigt wird, sollten Sie die Verbindung explizit schließen.

Öffnen einer Verbindung

Um eine Verbindung in ADOMD.NET zu öffnen, müssen Sie zunächst eine Verbindungszeichenfolge zu einer gültigen analytischen Datenquelle und Datenbank angeben. Dann müssen Sie die Verbindung explizit für diese Datenquelle öffnen.

Angeben einer mehrdimensionalen Datenquelle

Um eine analytische Datenquelle und eine Datenbank anzugeben, legen Sie die ConnectionString-Eigenschaft des AdomdConnection-Objekts fest. Die für die ConnectionString-Eigenschaft angegebene Verbindungszeichenfolge ist eine OLE DB-kompatible Zeichenfolge. ADOMD.NET verwendet die angegebene Verbindungszeichenfolge, um zu bestimmen, wie eine Verbindung mit dem Server hergestellt wird.

Die ConnectionString-Eigenschaft kann entweder für ein bestehendes AdomdConnection-Objekt oder während der Erstellung einer Instanz eines AdomdConnection-Objekts gesetzt werden. Der folgende Code veranschaulicht, wie die ConnectionString-Eigenschaft bei der Erstellung von [:Microsoft.AnalysisServices.AdomdClient.AdomdConnection] gesetzt wird:

Dim advwrksConnection As New AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS2008R2")
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString)
AdomdConnection advwrksConnection = new AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS2008R2");
System.Diagnostics.Debug.Writeline(advwrksConnection.ConnectionString);

Öffnen einer Verbindung zur Datenquelle

Nachdem Sie die Verbindungszeichenfolge angegeben haben, müssen Sie die Open-Methode verwenden, um die Verbindung zu öffnen. Wenn Sie ein AdomdConnection-Objekt öffnen, können Sie verschiedene Sicherheitsstufen für die Verbindung festlegen. Die Sicherheitsstufe, die für die Verbindung verwendet wird, hängt vom Wert der Einstellung der ProtectionLevel-Verbindungszeichenfolge ab. Weitere Informationen über das Öffnen einer sicheren Verbindung in ADOMD.NET finden Sie unter Aufbauen von sicheren Verbindungen in ADOMD.NET.

Arbeiten mit einer Verbindung

Jede geöffnete Verbindung besteht in einer Sitzung, die zustandsbehaftete Vorgänge unterstützt. Eine Sitzung kann für mehr als eine geöffnete Verbindung freigegeben werden. Durch die Freigabe einer Sitzung können mehrere Clients den gleichen Kontext nutzen. Weitere Informationen finden Sie unter Arbeiten mit Verbindungen und Sitzungen in ADOMD.NET.

Sie können eine geöffnete Verbindung verwenden, um Metadaten, Daten und Ausführungsbefehle abzurufen. Weitere Informationen finden Sie unter Abrufen von Metadaten aus einer analytischen Datenquelle, Abrufen von Daten von einer analytischen Datenquelle und Ausführen von Befehlen für eine analytische Datenquelle.

Bei geöffneter Verbindung können Sie Daten und Metadaten abrufen und Befehle aus einer Transaktion ausführen, bei der ein Commit vor dem Lesevorgang ausgeführt werden muss, wobei während des Lesens der Daten eine Sperre aufrechterhalten wird, um Dirty Reads zu verhindern. Die Daten können auch vor dem Ende der Transaktion noch geändert werden, was zu nicht wiederholbaren Lesevorgängen oder Phantomdaten führt. Weitere Informationen finden Sie unter Ausführen von Transaktionen in ADOMD.NET.

Trennen einer Verbindung

Wir empfehlen, dass Sie ein AdomdConnection-Objekt explizit schließen, sobald Sie die Verbindung nicht mehr benötigen. Um die Verbindung explizit zu schließen, können Sie die Methoden Close und Dispose des AdomdConnection-Objekts nutzen.

Eine Verbindung, die nicht explizit geschlossen wird, sondern bei der zugelassen wird, dass sie den Bereich verlässt, gibt möglicherweise Serverressourcen nicht schnell genug frei, damit Analysis Services-Clientanwendungen mit hoher Parallelität neue Verbindungen effizient öffnen können. Je nachdem, wie Sie die Verbindung erstellt haben, kann die Sitzung, die vom AdomdConnection-Objekt verwendet wird, aktiv bleiben, wenn die Verbindung nicht explizit geschlossen wird.

Weitere Informationen zu Sitzungen finden Sie unter Arbeiten mit Verbindungen und Sitzungen in ADOMD.NET.

Wichtiger HinweisWichtig

Rufen Sie in der Finalize-Methode einer jeglichen implementierten Klasse nicht die Methoden Close oder Dispose eines AdomdConnection-Objekts, AdomdDataReader-Objekts oder eines jeglichen anderen verwalteten Objekts auf. Geben Sie in einem Finalizer nur die nicht verwalteten Ressourcen frei, die direkt der implementierten Klasse angehören. Wenn die implementierte Klasse keine nicht verwalteten Ressourcen besitzt, nehmen Sie keine Finalize-Methode in die Klassendefinition auf.

Siehe auch

Verweis