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 プロパティは読み取り専用になります。
データ シェイプについて詳しくは、データ シェイプに関する記事をご覧ください。