DBSCHEMA_PROVIDER_TYPES 行セット
データ プロバイダによってサポートされている (基本) データ型を識別します。
行セットの列
DBSCHEMA_PROVIDER_TYPES 行セットには、次の列が含まれています。
列名 | 型インジケータ | 長さ | 説明 |
---|---|---|---|
TYPE_NAME |
DBTYPE_WSTR |
プロバイダ固有のデータ型名。 |
|
DATA_TYPE |
DBTYPE_UI2 |
データ型のインジケータ。 |
|
COLUMN_SIZE |
DBTYPE_UI4 |
プロバイダによってこの型に対して定義された最大値または長さのいずれかを表す非数値の列またはパラメータの長さ。文字データの場合、これは最大値または定義済みの長さを文字数で表したものです。DateTime 型の場合、これは文字列の長さです (秒部分に許容される最大有効桁数を想定)。 データ型が Numeric の場合、これはデータ型の有効桁数の上限値です。 |
|
LITERAL_PREFIX |
DBTYPE_WSTR |
テキスト コマンドでこの型のリテラルのプレフィックスとして使用する文字または文字列。 |
|
LITERAL_SUFFIX |
DBTYPE_WSTR |
テキスト コマンドでこの型のリテラルのサフィックスとして使用する文字または文字列。 |
|
CREATE_PARAMS |
DBTYPE_WSTR |
このデータ型の列の作成時にコンシューマによって指定された作成パラメータ。たとえば、SQL データ型 DECIMAL, には、有効桁数と小数点以下桁数が必要です。この場合、作成パラメータには文字列 "precision,scale" を使用できます。有効桁数が 10 で、小数点以下桁数が 2 である DECIMAL 列を作成するテキスト コマンドでは、TYPE_NAME 列の値は DECIMAL() になり、完全な型指定は DECIMAL(10,2) になります。 作成パラメータは、値をコンマで区切った一覧として表示されます。値は指定された順に表示され、かっこで囲まれません。作成パラメータが length、maximum length、precision、scale、seed、または increment の場合は、それぞれ "length"、"max length"、"precision"、"scale"、"seed"、および "increment" を使用します。作成パラメータがその他の値の場合は、作成パラメータの記述に使用するテキストはプロバイダによって決定されます。 データ型に作成パラメータが必要な場合は、型名に "()" が含まれます。これは、作成パラメータを挿入する位置を示します。型名に "()" が含まれない場合、作成パラメータはかっこで囲まれ、データ型名に追加されます。 |
|
IS_NULLABLE |
DBTYPE_BOOL |
データ型で NULL 値が許容されるかどうかを示すブール値。 VARIANT_TRUE は、データ型で NULL 値が許容されることを意味します。 VARIANT_FALSE は、データ型で NULL 値が許容されないことを意味します。 NULL は、データ型で NULL 値が許容されるかどうかが不明であることを意味します。 |
|
CASE_SENSITIVE |
DBTYPE_BOOL |
データ型が文字型で、大文字と小文字が区別されるかどうかを示すブール値。 VARIANT_TRUE は、データ型が文字型であり、大文字と小文字が区別されることを意味します。 VARIANT_FALSE は、データ型が文字型ではなく、大文字と小文字が区別されないことを意味します。 |
|
SEARCHABLE |
DBTYPE_UI4 |
プロバイダで ICommandText がサポートされている場合、検索でのデータ型の使用方法を示す整数。それ以外の場合は、NULL です。 この列は、次の値をとります。
|
|
UNSIGNED_ATTRIBUTE |
DBTYPE_BOOL |
データ型が符号なしかどうかを示すブール値。 VARIANT_TRUE は、データ型が符号なしであることを意味します。 VARIANT_FALSE は、データ型が符号付きであることを意味します。 NULL は、この列がデータ型に適用されないことを意味します。 |
|
FIXED_PREC_SCALE |
DBTYPE_BOOL |
データ型の有効桁数と小数点以下桁数が固定しているかどうかを示すブール値。 VARIANT_TRUE は、データ型の有効桁数と小数点以下桁数が固定していることを意味します。 VARIANT_FALSE は、データ型の有効桁数と小数点以下桁数が固定していないことを意味します。 |
|
AUTO_UNIQUE_VALUE |
DBTYPE_BOOL |
データ型が自動増分かどうかを示すブール値。 VARIANT_TRUE は、この型の値が自動増分できることを意味します。 VARIANT_FALSE は、この型の値が自動増分できないことを意味します。 この値が VARIANT_TRUE である場合、この型の列が常に自動増分されるかどうかは、プロバイダの DBPROP_COL_AUTOINCREMENT 列プロパティによって決まります。DBPROP_COL_AUTOINCREMENT プロパティが読み取り/書き込み可能である場合、この型の列が自動増分されるかどうかは、DBPROP_COL_AUTOINCREMENT プロパティの設定によって決まります。DBPROP_COL_AUTOINCREMENT が読み取り専用プロパティである場合は、この型のすべての列が自動増分されるか、どの列も自動増分されません。 |
|
LOCAL_TYPE_NAME |
DBTYPE_WSTR |
TYPE_NAME のローカライズされたバージョン。ローカライズされた名前がデータ プロバイダによってサポートされていない場合は、NULL が返されます。 |
|
MINIMUM_SCALE |
DBTYPE_I2 |
型インジケータが DBTYPE_DECIMAL、DBTYPE_NUMERIC、DBTYPE_VARNUMERIC のいずれかである場合、小数点以下で許容される最小桁数。それ以外の場合は、NULL です。 |
|
MAXIMUM_SCALE |
DBTYPE_I2 |
型インジケータが DBTYPE_VARNUMERIC、DBTYPE_DECIMAL、または DBTYPE_NUMERIC のいずれかである場合、小数点以下で許容される最大桁数。それ以外の場合は、NULL です。 |
|
GUID |
DBTYPE_GUID |
(将来使用する予定) 型がタイプ ライブラリに記述されている場合は、型の GUID。それ以外の場合は、NULL です。 |
|
TYPELIB |
DBTYPE_WSTR |
(将来使用する予定) 型がタイプ ライブラリに記述されている場合は、型の記述を含んでいるタイプ ライブラリ。それ以外の場合は、NULL です。 |
|
VERSION |
DBTYPE_WSTR |
(将来使用する予定) 型定義のバージョン。プロバイダは、型定義をバージョン管理できます。プロバイダによって、タイムスタンプや番号 (整数または浮動小数点数) などの異なるバージョン管理スキームが使用されます。サポートされない場合は、NULL です。 |
|
IS_LONG |
DBTYPE_BOOL |
データ型がバイナリ ラージ オブジェクト (BLOB) で、非常に長いデータを持つかどうかを示すブール値。 VARIANT_TRUE は、データ型が非常に長いデータを含んでいる BLOB であることを意味します。非常に長いデータの定義は、プロバイダによって異なります。 VARIANT_FALSE は、データ型が非常に長いデータを含んでいない BLOB であるか、BLOB でないことを意味します。 この値によって、IColumnsInfo の GetColumnInfo および ICommandWithParameters の GetParameterInfo によって返される DBCOLUMNFLAGS_ISLONG フラグの設定が決まります。 |
|
BEST_MATCH |
DBTYPE_BOOL |
最も一致するデータ型かどうかを示すブール値。 VARIANT_TRUE は、データ ストア内のすべてのデータ型と DATA_TYPE 列の値で示される OLE DB データ型の間で最も一致するデータ型であることを意味します。 VARIANT_FALSE は、最も一致するデータ型でないことを意味します。 BEST_MATCH 列が VARIANT_TRUE に設定されるのは、DATA_TYPE 列の値が同じである行のセットごとに 1 行のみです。 |
|
IS_FIXEDLENGTH |
DBTYPE_BOOL |
列が固定長かどうかを示すブール値。 VARIANT_TRUE は、データ定義言語 (DDL) で作成されたこの型の列が固定長であることを意味します。 VARIANT_FALSE は、DDL で作成されたこの型の列が可変長であることを意味します。 フィールドが NULL の場合、プロバイダがこのフィールドを固定長の列でマップするか可変長の列でマップするかは不明です。 |
行セットは、DATA_TYPE を基準に並べ替えることができます。
制限の列
DBSCHEMA_PROVIDER_TYPES 行セットは、次の表に示されている列で制限できます。
列名 | 型インジケータ | 制限の状態 |
---|---|---|
DATA_TYPE |
DBTYPE_UI2 |
|
BEST_MATCH |
DBTYPE_BOOL |