次の方法で共有


OpenSchema メソッド

プロバイダーからデータベース スキーマ情報を取得します。

構文

  
Set recordset = connection.OpenSchema(QueryType, Criteria, SchemaID)  

戻り値

スキーマ情報を含む Recordset オブジェクトを返します。 Recordset は、読み取り専用の静的カーソルとして開かれます。 QueryType は、Recordsetに表示される列を決定します。

パラメーター

QueryType
SchemaEnum 実行するスキーマ クエリの種類を表す値です。

抽出条件
随意。 SchemaEnumに記載されているように、各 QueryType オプションのクエリ制約の配列。

SchemaID
OLE DB 仕様で定義されていないプロバイダー スキーマ クエリの GUID。 このパラメーターは、QueryType が adSchemaProviderSpecific に設定されている場合に必要です。それ以外の場合は使用されません。

備考

OpenSchema メソッドは、データ ソースに含まれるテーブル、テーブル内の列、サポートされているデータ型など、データ ソースに関する自己記述的な情報を返します。

QueryType 引数は、返される列 (スキーマ) を示す GUID です。 OLE DB 仕様には、スキーマの完全な一覧があります。

抽出条件 引数は、スキーマ クエリの結果を制限します。 抽出条件 では、結果として得られる Recordset内の、制約列と呼ばれる列の対応するサブセットで発生する必要がある値の配列を指定します。

adSchemaProviderSpecific 定数は、プロバイダーが前述の外部で独自の非標準スキーマ クエリを定義する場合に、QueryType 引数に使用されます。 この定数を使用する場合、実行するスキーマ クエリの GUID を渡すには、SchemaID 引数が必要です。 QueryType が adSchemaProviderSpecific に設定されていても、SchemaID 指定されていない場合、エラーが発生します。

プロバイダーは、すべての OLE DB 標準スキーマ クエリをサポートする必要はありません。 具体的には、adSchemaTablesadSchemaColumns、および adSchemaProviderTypes のみが OLE DB 仕様で必要です。 ただし、プロバイダーは、これらのスキーマ クエリに対して前述した 抽出条件 制約をサポートする必要はありません。

手記

Remote Data Service UsageOpenSchema メソッドは、クライアント側の Connection オブジェクトでは使用できません。

手記

Visual Basic では、Connection オブジェクトの OpenSchema メソッドから返される Recordset の 4 バイト符号なし整数 (DBTYPE UI4) を持つ列は、他の変数と比較できません。 OLE DB データ型の詳細については、「OLE DB (OLE DB) のデータ型の および「付録 A: Microsoft OLE DB プログラマー リファレンス」の「付録 A: データ型」を参照してください。

手記

Visual C/C++ ユーザー クライアント側カーソルを使用していない場合、ADO で列スキーマの "ORDINAL_POSITION" を取得すると、MDAC 2.7、MDAC 2.8、および Windows Data Access Components (Windows DAC) 6.0 でVT_R8型のバリアントが返されますが、MDAC 2.6 で使用される型はVT_I4されました。 MDAC 2.6 用に作成され、VT_I4型のバリアントのみを検索するプログラムは、MDAC 2.7、MDAC 2.8、および Windows DAC 6.0 で実行すると、すべての序数に対して 0 を取得します。 この変更は、OLE DB から返されるデータ型がDBTYPE_UI4であり、符号付きVT_I4型では、切り捨てが発生せず、データの損失を引き起こす可能性のあるすべての値を格納するのに十分な空き領域がないために行われました。

適用対象

Connection オブジェクト (ADO)

関連項目

OpenSchema メソッドの使用例 (VB)
OpenSchema メソッドの使用例 (VC++)
Open メソッド (ADO 接続)
Open メソッド (ADO Record)
Open メソッド (ADO Recordset)
Open メソッド (ADO Stream)
付録 A: プロバイダー