次の方法で共有


ADOMD.NET での接続

この ADOMD.NET、 オブジェクトを使用AdomdConnectionして、データベースなどの分析データ ソースとの接続Microsoft SQL Server Analysis Servicesします。 接続が不要になったときは、その接続を明示的に閉じる必要があります。

接続を開く

ADOMD.NET で接続を開くには、まず、有効な分析データ ソースおよびデータベースの接続文字列を指定します。 その後、そのデータ ソースへの接続を明示的に開く必要があります。

多次元データ ソースの指定

分析データ ソースとデータベースを指定するには、 オブジェクトの ConnectionString プロパティを設定 AdomdConnection します。 プロパティに指定された接続文字列は ConnectionString 、OLE DB準拠している文字列です。 ADOMD.NET は、指定された接続文字列を使用して、サーバーへの接続方法を決定します。

プロパティ ConnectionString は、既存のオブジェクトまたはオブジェクトの AdomdConnection インスタンスの作成時に設定 AdomdConnection できます。 次のコードは、ADOMD 接続を作成するときに ConnectionString プロパティを設定する方法を示しています。

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);  

データ ソースへの接続を開く

接続文字列を指定した後、 メソッドを使用して Open 接続を開く必要があります。 オブジェクトを開く AdomdConnection 際に、接続のさまざまなレベルのセキュリティを設定できます。 接続に使用されるセキュリティ レベルは、 ProtectionLevel 接続文字列設定の値 によって異なります。 セキュリティで保護された接続を ADOMD.NET で開く方法の詳細については、「セキュリティで保護された接続の確立」 を ADOMD.NET

接続の操作

開いた各接続には、ステートフルな操作をサポートするセッションが割り当てられます。 1 つのセッションを、開いている複数の接続で共有できます。 セッションを共有すると、複数のクライアントで同じコンテキストを共有できます。 詳細については、「 Working with Connections and Sessions in ADOMD.NET」を参照してください

開いた接続を使用して、メタデータとデータを取得し、コマンドを実行できます。 詳細については、「分析データ ソースからのメタデータの取得」、分析データ ソースからのデータの取得、および分析データ ソースに対するコマンドの実行に関するページを参照してください

接続が開いているときは、READ COMMITTED トランザクション内からデータやメタデータを取得し、コマンドを実行することができます。このトランザクションでは、ダーティ リードを回避するため、データの読み込み中は共有ロックが保持されます。 ただし、その場合でも、トランザクションが終了する前にデータが変更され、反復不能読み取りやファントム データとなる場合があります。 詳細については、「 Performing Transactions in ADOMD.NET」を参照してください

接続を閉じる

接続が不要になったらすぐに AdomdConnection 、オブジェクトを明示的に閉じてお勧めします。 接続を明示的に閉じるには、 オブジェクトの Close メソッドと Dispose メソッドを使用 AdomdConnection します。

明示的に閉じず、スコープから外れ得る接続では、コンカレンシーの高い Analysis Services クライアント アプリケーションが新しい接続を効率的に開くことができるほど迅速にサーバー リソースを解放できない可能性があります。 接続の作成方法によっては、 AdomdConnection 接続が明示的に閉じされていない場合、オブジェクトによって使用されるセッションがアクティブなままである可能性があります。

セッションの詳細については、「 Working with Connections and Sessions in ADOMD.NET」を参照してください

重要

実装された クラスの Finalize メソッドでは、オブジェクト、オブジェクト、または他のマネージド オブジェクトの Close メソッドまたは DisposeAdomdConnectionAdomdDataReader メソッドを呼び出さ "しない"。 ファイナライザーでは、実装したクラスが直接所有しているアンマネージ リソースのみ解放してください。 実装されたクラスがアンマネージ リソースを所有していない場合は、クラス定義に Finalize メソッドを含め "しない" 必要があります。