OpenSchema メソッド (ADO)
適用先: Access 2013、Office 2013
プロバイダーからデータベースのスキーマ情報を取得します。
構文
レコードセット接続を設定します = 。OpenSchema (QueryType、Criteria、SchemaID)
戻り値
スキーマ情報を含む Recordset オブジェクトを返します。 Recordset は読み取り専用の静的カーソルとして開かれます。 QueryType により、Recordset に表示される列が決まります。
パラメーター
パラメーター | 説明 |
---|---|
QueryType | 実行するスキーマ クエリの種類を表す SchemaEnum 値を指定します。 |
Criteria | 省略可能です。 SchemaEnum の指定に従って、各 QueryType オプションのクエリ制約の配列を指定します。 |
SchemaID | OLE DB 仕様で定義されていないプロバイダー スキーマ クエリの GUID。 QueryType が adSchemaProviderSpecific に設定されている場合、このパラメーターは必須です。それ以外の場合は使用されません。 |
注釈
OpenSchema メソッドは、データ ソースに含まれるテーブル、テーブルに含まれる列、サポートされているデータ型などのデータ ソースに関する情報を返します。
QueryType 引数は、返される列 (スキーマ) を示す GUID です。 OLE DB の仕様には、すべてのスキーマの一覧があります。
Criteria 引数は、スキーマ クエリの結果を制限します。 抽出条件 は、結果の Recordset 内の列の対応するサブセット ( 制約列と呼ばれます) で発生する必要がある値の配列を指定 します。
OLE DB 仕様以外の非標準スキーマ クエリをプロバイダーが独自に定義している場合は、QueryType 引数に adSchemaProviderSpecific を使用します。 この定数を使用する場合は、SchemaID 引数に、実行するスキーマ クエリの GUID を指定する必要があります。 QueryType が adSchemaProviderSpecific に設定され、SchemaID が指定されていない場合、エラーが発生します。
プロバイダーは、すべての OLE DB 標準スキーマ クエリをサポートする必要はありません。 OLE DB の仕様では、adSchemaTables、adSchemaColumns、および adSchemaProviderTypes のみが必要とされます。 ただし、これらのスキーマ クエリでは、プロバイダーは Criteria の制約をサポートする必要はありません。
リモート データ サービスの使用状況OpenSchema メソッドは、クライアント側の Connection オブジェクトでは使用できません。
注:
In Visual Basic, columns that have a four-byte unsigned integer (DBTYPE UI4) in the Recordset returned from the OpenSchema method on the Connection object cannot be compared to other variables. OLE DB データ型の詳細については、 Microsoft OLE DB プログラマリファレンスの第 13 章および付録 A を参照してください。