Microsoft Data Shaping Service for OLE DB の概要

重要

この機能は、Windows の将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 アプリケーションでは、代わりに XML を使う必要があります。

Microsoft Data Shaping Service for OLE DB サービス プロバイダーは、データ プロバイダーからの階層 (シェイプ) Recordset オブジェクトの構築をサポートしています。

プロバイダー キーワード

Data Shaping Service for OLE DB を呼び出すには、次のキーワードと値を接続文字列で指定します。

"Provider=MSDataShape"

動的プロパティ

このサービス プロバイダーが呼び出されると、Connection オブジェクトの Properties コレクションに次の動的プロパティが追加されます。

動的プロパティ名 説明
Unique Reshape Names Reshape Name プロパティの値が重複している Recordset オブジェクトを許可するかどうかを示します。 この動的プロパティが True の場合、既存の Recordset と同じユーザー指定のリシェイプ名を持つ新しい Recordset が作成されると、新しい Recordset オブジェクトのリシェイプ名が一意になるように変更されます。 このプロパティが False の場合、既存の Recordset と同じユーザー指定のリシェイプ名を持つ新しい Recordset が作成されると、両方の Recordset オブジェクトのリシェイプ名が同じになります。 したがって、両方のレコードセットが存在する限り、どちらの Recordset もリシェイプできません。

このプロパティの既定値は False です。
データ プロバイダー シェイプ対象の行を提供するプロバイダーの名前を示します。 行の提供にプロバイダーが使われない場合は、この値を NONE にすることができます。

接続文字列で名前をキーワードとして指定して、書き込み可能な動的プロパティを設定することもできます。 たとえば、Microsoft Visual Basic では、次のように指定して、Data Provider 動的プロパティを "MSDASQL" に設定します。

Dim cn as New ADODB.Connection
cn.Open "Provider=MSDataShape;Data Provider=MSDASQL"

動的プロパティの名前を Properties プロパティのインデックスとして指定して、動的プロパティを設定または取得することもできます。 たとえば、次のコード例では、Data Provider 動的プロパティの現在の値を取得して出力した後、cn.DataProvider が "MSDataShape" に設定されていて (直接、または接続文字列で間接的に)、接続が開かれていない場合は、新しい値を設定します。

Debug.Print cn.Properties("Data Provider")
cn.Properties("Data Provider") = "MSDASQL"

Note

動的プロパティ Data Provider は、開かれていない Connection オブジェクトでのみ設定できます。 接続が開かれると、Data Provider プロパティは読み取り専用になります。

データ シェイプについて詳しくは、データ シェイプに関する記事をご覧ください。

参照

付録 A: プロバイダー