Udostępnij za pośrednictwem


Establishing Connections in ADOMD.NET

In ADOMD.NET, you use the AdomdConnection object to open connections with analytical data sources, such as Microsoft SQL Server Analysis Services databases.Jeśli połączenie nie jest potrzebna, należy jawnie zamknąć połączenie.

Otwieranie połączenia

Aby otworzyć połączenie w ADOMD.NET, należy najpierw określić ciąg połączenia na prawidłowe dane analityczne urządzenie źródłowe i bazy danych.Następnie należy otworzyć jawnie połączenie danych, który urządzenie źródłowe.

Określanie wielowymiarowego urządzenie źródłowe danych

Aby określić danych analitycznych urządzenie źródłowe i bazy danych, ustaw ConnectionString() Właściwość AdomdConnection obiekt. Ciąg połączenia dla ConnectionString() Właściwość jest ciągiem DB–compliant OLE. ADOMD.NET używa ciąg połączenia określonego w celu określenia sposobu łączenia się z serwerem.

The ConnectionString() właściwość can be zestaw on either an existing AdomdConnection object or during the creation an wystąpienie of an AdomdConnection object. Poniższy kod demonstruje, jak ustawić ConnectionString() Właściwość podczas tworzenia [:Microsoft.AnalysisServices.AdomdClient.AdomdConnection]:

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

Otwieranie połączenia ze źródłem danych

Po określeniu ciąg połączenia, należy użyć Open() Metoda, aby otworzyć połączenie. Po otwarciu AdomdConnection obiekt, zestaw różne poziomy zabezpieczeń dla połączenia. Poziom zabezpieczeń, który jest używany dla połączenia zależy od wartości ProtectionLevel Ustawienie ciąg połączenia. Aby uzyskać więcej informacji na temat otwierania bezpiecznych połączeń w ADOMD.NET zobacz Establishing Secure Connections in ADOMD.NET.

Praca z połączeniem

Istnieje każdego otwartego połączenia w sesja, która zapewnia obsługę operacji akumulującej stan.Sesja może być współużytkowany przez więcej niż jednego otwartego połączenia.Udostępnianie sesja umożliwia więcej niż jednego klient udostępnić w tym samym kontekście.Aby uzyskać więcej informacji zobacz Working with Connections and Sessions in ADOMD.NET.

Można pobrać metadane i danych, za pomocą otwartego połączenia i uruchomić polecenia.Aby uzyskać więcej informacji zobacz Retrieving Metadata from an Analytical Data Source, Retrieving Data from an Analytical Data Source, a Executing Commands Against an Analytical Data Source.

Gdy połączenie jest otwarte, można pobierać dane, pobrać metadane i uruchomić poleceń znajdujących się w obrębie transakcji popełnionych odczytu, w którym przechowywane są blokad udostępnionego podczas odczytu danych w celu uniknięcia odczytów zabrudzony.Nadal można zmieniać dane przed końcem transakcji, co-powtarzalnych operacje odczytu i fantomu danych.Aby uzyskać więcej informacji zobacz Performing Transactions in ADOMD.NET.

Zamykanie połączenia

Zaleca się, że zostanie jawnie zamknięty AdomdConnection obiekt natychmiast po uzyskaniu połączenia nie są już potrzebne. Aby jawnie zamknięcie połączenia, należy użyć Close() i Dispose() metody AdomdConnection obiekt.

Połączenie, które nie są jawnie zamknięte, lecz może być mieszczą się poza zakresem, mogą nie zwolnić zasoby serwera dość szybko włączyć wysokim współbieżność Analysis Services aplikacje klienckie wydajnie otworzyć nowe połączenia. W zależności od tego, w jaki sposób tworzenia połączenia, używanych przez sesja AdomdConnection obiekt może pozostawać aktywna, jeśli połączenie nie są jawnie zamknięte.

Aby uzyskać więcej informacji o sesjach zobacz Working with Connections and Sessions in ADOMD.NET.

Important noteImportant Note:

W Finalize Metoda wszelkich zaimplementowana klasy, nie zostanie wywołana Close lub Dispose metody AdomdConnection obiekt, AdomdDataReader obiekt lub inny obiekt zarządzany. W finalizatorów Zwolnij tylko niezarządzanego zasobów bezpośrednio będące własnością klasy zaimplementowane.Jeśli klasy zaimplementowane nie jest właścicielem wszystkich zasobów niezarządzanego, nie należy dołączać Finalize Metoda w definicji klasy.

See Also

Reference