大事な
この機能は、今後のバージョンの Windows で削除される予定です。 新しい開発作業ではこの機能を使用しないでください。現在この機能を使用しているアプリケーションを変更することを計画してください。 代わりに、アプリケーションでは XML を使用する必要があります。
Microsoft Data Shaping Service for OLE DB サービス プロバイダーは、データ プロバイダーからの Recordset オブジェクト 階層構造 (整形) の構築をサポートしています。
Provider キーワード
OLE DB 用データ シェイプ サービスを呼び出すには、接続文字列に次のキーワードと値を指定します。
"Provider=MSDataShape"
動的プロパティ
このサービス プロバイダーが呼び出されると、Connection オブジェクトの Properties コレクションに次の動的プロパティが追加されます。
| 動的プロパティ名 | 説明 |
|---|---|
| ユニークなリシェイプ名 |
レコードセット オブジェクトの Reshape Name プロパティで値が重複する場合に、それが許可されるかどうかを示します。 この動的プロパティが True の場合、既存の Recordsetと同じユーザー指定のリシェイプ名を持つ新しい Recordset が作成されると、新しい Recordset オブジェクトのリシェイプ名が変更されて、一意にされます。 このプロパティが false され、既存の Recordsetと同じユーザー指定の形状変更名を持つ新しい Recordset が作成された場合、Recordset オブジェクトの両方に同じ形状変更名が付けられます。 したがって、両方のレコードセットが存在する限り、とのどちらのレコードセットも整形できません。 プロパティの既定値は false です。 |
| データプロバイダー | 整形する行を提供するプロバイダーの名前を示します。 プロバイダーを使用して行を指定しない場合は、この値を NONE にできます。 |
接続文字列でキーワードとして名前を指定することで、書き込み可能な動的プロパティを設定することもできます。 たとえば、Microsoft Visual Basic では、次のように指定して、データ プロバイダー 動的プロパティを "MSDASQL" に設定します。
Dim cn as New ADODB.Connection
cn.Open "Provider=MSDataShape;Data Provider=MSDASQL"
動的プロパティの名前を Properties プロパティのインデックスとして指定して、動的プロパティを設定または取得することもできます。 たとえば、次のコード例では、動的プロパティ データ プロバイダーの現在の値を取得して出力し、cn の場合は新しい値を設定します。DataProvider が "MSDataShape" (接続文字列を介して直接または間接的に) に設定されており、接続が開かれていません。
Debug.Print cn.Properties("Data Provider")
cn.Properties("Data Provider") = "MSDASQL"
手記
動的プロパティ データ プロバイダーは、開いていない Connection オブジェクトでのみ設定できます。 接続が開かれると、データ プロバイダー プロパティは読み取り専用になります。
データ シェイプの詳細については、「データ シェイプの」を参照してください。