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

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

SqlDataReader.GetSchemaTable メソッド

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

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

Public Overrides Function
 GetSchemaTable As DataTable
Dim instance As SqlDataReader
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

SqlDataReader が閉じています。

解説解説

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

DataReader 列

説明

ColumnName

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

ColumnOrdinal

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

ColumnSize

列の値に許容される最大長。固定長データ型を使用する列では、そのデータ型のサイズになります。SQL Server データベースに格納されている nvarchar(MAX)、varchar(MAX)、および varbinary(MAX) の各列の最大サイズは 2GB です。これらの列がファイルとして格納およびアクセスされる場合、最大サイズの制限はファイル システムに依存します。この値は、接続文字列で Type System Version キーワードを使用すると変更できます。新しい型の場合は、下位レベル型として表されます。MAX データ型は、nvarchar に対して通常 4k を返し、varchar に対して 8000 を返します。詳細については、SQL Server Books Online で Transact-SQL のリファレンスを参照してください。

NumericPrecision

ProviderType が数値データ型の場合は、列の最大精度になります。精度は、列の定義によって決まります。ProviderType が数値データ型以外の場合は、null 値になります。

NumericScale

ProviderType が DBTYPE_DECIMAL または DBTYPE_NUMERIC の場合は、小数点の右側の桁数。それ以外の場合は、null 値になります。

IsUnique

timestamp 列に対してのみ true。それ以外の列に対して false。

IsKey

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

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

BaseServerName

SqlDataReader が使用する Microsoft SQL Server のインスタンス名。

BaseCatalogName

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

BaseColumnName

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

BaseSchemaName

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

BaseTableName

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

DataType

列の .NET Framework に合う型に割り当てます。

AllowDBNull

コンシューマが列に null 値を設定できる場合、またはコンシューマが列に null 値を設定できるかどうかをプロバイダが判断できない場合に設定します。それ以外の場合は、設定されません。列を null 値に設定できない場合でも、null 値が含まれている可能性があります。

ProviderType

列のデータ型のインジケータ。列のデータ型が行によって異なる場合は、Object である必要があります。この列に null 値を含めることはできません。

IsAliased

列名がエイリアスである場合は true。それ以外の場合は false。

IsExpression

列が式である場合は true。それ以外の場合は false。

IsIdentity

列が ID 列である場合は true。それ以外の場合は false。

IsAutoIncrement

true の場合は、列が、新しい行に固定インクリメントで値を割り当てることを示します。

false の場合は、列が、新しい行に固定インクリメントで値を割り当てないことを示します。この列の既定値は false です。

IsRowVersion

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

IsHidden

列が非表示の場合は true。それ以外の場合は false。

IsLong

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

IsReadOnly

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

ProviderSpecificDataType

接続文字列内の Type System Version キーワードに基づいて、列のプロバイダ固有のデータ型を返します。

DataTypeName

指定された列のデータ型を文字列表現で返します。

XmlSchemaCollectionDataBase

行に XML 列に関する情報が格納されている場合、この XML インスタンスのスキーマ コレクションが置かれているデータベースの名前。コレクションが現在のデータベース内で定義されている場合、この値は null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing) になります。スキーマ コレクションが存在しない場合も null になります。この場合、XmlSchemaCollectionName 列と XmlSchemaCollectionOwningSchema 列も null になります。

XmlSchemaCollectionOwningSchema

行に XML 列に関する情報が格納されている場合、この XML インスタンスのスキーマ コレクションが置かれている所有リレーショナル スキーマ。コレクションが現在のデータベース内で定義されている場合、この値は null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing) になります。スキーマ コレクションが存在しない場合も null になります。この場合、XmlSchemaCollectionDatabase 列と XmlSchemaCollectionName 列も null になります。

XmlSchemaCollectionName

行に XML 列に関する情報が格納されている場合、この XML インスタンスのスキーマ コレクションの名前。関連付けられているスキーマ コレクションが存在しない場合、この値は null 参照 (Visual Basic では Nothing) (Visual Basic の場合は Nothing) になります。この値が null の場合、XmlSchemaCollectionDatabase 列と XmlSchemaCollectionOwningSchema 列も null になります。

メモメモ

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

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlDataReader クラス
SqlDataReader メンバ
System.Data.SqlClient 名前空間



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

SqlDataReader.GetSchemaTable メソッドのお隣キーワード

   

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



SqlDataReader.GetSchemaTable メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS