OdbcDataReader.GetSchemaTable メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > OdbcDataReader.GetSchemaTable メソッドの意味・解説 

OdbcDataReader.GetSchemaTable メソッド

OdbcDataReader の列メタデータ記述する DataTable を返します

名前空間: System.Data.Odbc
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Overrides Function
 GetSchemaTable As DataTable
Dim instance As OdbcDataReader
Dim returnValue As DataTable

returnValue = instance.GetSchemaTable
public override DataTable GetSchemaTable ()
public:
virtual DataTable^ GetSchemaTable () override
public DataTable GetSchemaTable ()
public override function GetSchemaTable ()
 : DataTable

戻り値
メタデータ説明する DataTable

例外例外
例外種類条件

InvalidOperationException

OdbcDataReader閉じてます。

解説解説

GetSchemaTable メソッドは、各列のメタデータ次の順序返します

DataReader 列

説明

ColumnName

列名。列名は一意ない場合あります。列名が判断できない場合は、null 値返されます。この名前は、現在のビュー内またコマンド テキスト内のに対して指定され最新の名前を常に反映してます。

ColumnOrdinal

列の序数。行のブックマーク列 (ある場合) は 0 になりますその他の列は、1 から順に番号付けられます。この列には null 値含めることはできません。

ColumnSize

列の値に許容される最大長。固定長データ型使用する列では、そのデータ型サイズなります

NumericPrecision

DbType が数値データ型の場合は、列の最大精度なります精度は、列の定義によって決まりますDbType数値データ以外の場合は、null 値なります。基になる ODBC ドライバ非数データ型に対して精度の値を返した場合、この値はスキーマ テーブル使用されます。

NumericScale

DbTypeDecimal場合は、小数点右側桁数それ以外場合は、null 値なります。基になる ODBC ドライバ非数データ型に対して精度の値を返した場合、この値はスキーマ テーブル使用されます。

DataType

DbType共通言語ランタイムの型に割り当てます

ProviderType

基になるドライバ種類

IsLong

長いデータ格納されBLOB (Binary Long Object) が列に格納されている場合true。非常に長いデータの定義は、ドライバによって異なります

AllowDBNull

コンシューマが列に null 値設定できる場合、またはコンシューマが列に null 値設定できるかどうかドライバ判断できない場合trueそれ以外場合false。列を null 値設定できない場合でも、null 値含まれている可能性あります

IsReadOnly

列を変更できない場合trueそれ以外場合false

IsRowVersion

書き込み禁止で、行の識別以外に意味のない値を持つ永続的なID が列に格納されている場合に、設定されます。

IsUnique

true場合は、この列では、ベース テーブル (BaseTableName で返されるテーブル) 内で行に重複する値を格納できないこと示します。列自体キー構成している場合や、その列のみに適用される UNIQUE 型の制約がある場合は、IsUnique は必ず trueなります

false : 列はベース テーブル内に重複する値を格納できます。この列の既定値false です。

IsKey

true場合は、列が、行セット内の行を一意識別するために組み合わされる、列のセット1 つであることを示します。IsKey が true設定された列のセットは、行セット内の行を一意識別する必要があります。この列のセットが列の最小セットである必要はありません。この列のセットは、ベース テーブル主キーUNIQUE 制約、または一意インデックスから生成されることもあります

false場合は、列が、行を一意識別する必要がないことを示します

IsAutoIncrement

列が、新しい行に固定インクリメントで値を割り当てる場合trueそれ以外場合false。この列の既定値false です。

BaseSchemaName

列を格納している、データ ソース内のスキーマの名前。基本カタログ名を判断できない場合null。この列の既定値null 値です。

BaseCatalogName

列を格納している、データ ストア内のカタログ名。基本カタログ名を判断できない場合null。この列の既定値null 値です。

BaseTableName

列を格納している、データ ストア内のテーブルまたはビューの名前。ベース テーブル名を判断できない場合null 値。この列の既定値null 値です。

BaseColumnName

データ ストア内での列名。別名が使用され場合、ColumnName 列に返された列名とは異なることがあります基本列名を判断できない場合や、取得された行セット列がデータ ストア内の列と一致しない場合は、null 値。この列の既定値null 値です。

結果セットの各列ごとに行が返されます。

.NET Framework ODBCデータ プロバイダでは、SQLPrepareSQLExecute、または SQLExecuteDirect 関数いずれか呼び出され後でODBC ドライバからのメタデータ情報使用できることを前提としています。"SchemaOnly" コマンド正しく動作するために、SQLPrepare は、必要なメタデータ情報返す必要がありますすべての ODBC ドライバでこの関数使用できるわけではなくまた、使用できる場合でもメタデータ情報返されるとは限りません。このような場合、SchemaTable の一部またはすべての情報欠落します。SQLPrepare呼び出した後、データ プロバイダODBCSQLColAttribute 関数呼び出してクエリ結果の各列に関連するメタデータ情報 (IsLong、IsUnique、AllowDBNull、BaseTableName、BaseColumnName など) を検索します。基になるドライバが完全な情報返さない場合、SchemaTable 内の対応する値は正しく設定されません。

.NET Framework ODBCデータ プロバイダは、SQLPrimaryKeys呼び出して、各テーブルキー情報取得します。基になる ODBC ドライバがこの関数サポートしてない場合データ プロバイダSQLStatistics呼び出して一意インデックスいずれかテーブル主キーとして選択します。これによって目的結果得られないこともあります

OdbcCommandBuilder が正しく動作するためには、テーブル主キー正しID が必要です。クエリ結果によって BaseTableName が返されない列がある場合.NET Framework ODBCデータ プロバイダは、SQL ステートメント解析して、そのクエリ関連するテーブル名を検索しようとします。この動作は、UPDATEINSERTDELETE、および単純な SELECT ステートメントでは行われますが、ストアド プロシージャ結合使用した SELECT ステートメントでは行われません。このテーブルから一部またはすべてのスキーマ情報欠落している場合は、正しINSERTUPDATE、または DELETE ステートメント自動生成するために必要なスキーマ情報足りないため、OdbcCommandBuilder正しく動作しません。

メタデータの列が正し情報確実に返すようにするには、behavior パラメータを KeyInfo に設定して ExecuteReader を呼び出す必要がありますそれ以外場合スキーマ テーブルいくつかの列は、既定データnull、または正しくないデータ返します

メモメモ

Microsoft Jet ODBC ドライバは、一意インデックス列および主キー列を、null 許容であるかどうかに関係なく常に null 許容として返しますまた、このドライバは、主キー情報返しません。主キーを含む一意インデックスと、そのインデックスの列のリストだけを返します主キー列は、他の列と区別されません。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OdbcDataReader クラス
OdbcDataReader メンバ
System.Data.Odbc 名前空間
その他の技術情報
DataReader の使用


このページでは「.NET Framework クラス ライブラリ リファレンス」からOdbcDataReader.GetSchemaTable メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からOdbcDataReader.GetSchemaTable メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からOdbcDataReader.GetSchemaTable メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「OdbcDataReader.GetSchemaTable メソッド」の関連用語

OdbcDataReader.GetSchemaTable メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OdbcDataReader.GetSchemaTable メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS