OLE DB 用の Microsoft データ整形サービスの概要

重要

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

OLE DB サービスプロバイダー用の Microsoft データ整形サービスは、データプロバイダーからの階層構造の (整形された) レコードセット オブジェクトの構築をサポートしています。

Provider キーワード

OLE DB のデータ整形サービスを呼び出すには、接続文字列に次のキーワードと値を指定します。

"Provider=MSDataShape"

動的プロパティ

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

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

プロパティの既定値は 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"

注意

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

データシェイプの詳細については、「 データシェイプ」を参照してください。

参照

付録 A: プロバイダー