Набор строк DBSCHEMA_PROVIDER_TYPES
Показывает (базовые) типы данных, поддерживаемые поставщиком данных.
Столбцы наборов строк
Набор строк DBSCHEMA_PROVIDER_TYPES содержит следующие столбцы.
Имя столбца |
Индикатор типа |
Длина |
Описание |
---|---|---|---|
TYPE_NAME |
DBTYPE_WSTR |
Имя типа данных, связанного с поставщиком. |
|
DATA_TYPE |
DBTYPE_UI2 |
Индикатор типа данных. |
|
COLUMN_SIZE |
DBTYPE_UI4 |
Длина нечислового столбца или параметра, которая определяется максимальной длиной или длиной столбца, определенной для этого типа поставщиком. Для символьных данных это максимальная или определенная длина в символах. Для типов данных DateTime это длина представления строки (с учетом максимально допустимой точности доли секунды). Если это числовой тип данных, то это верхняя граница максимальной точности типа данных. |
|
LITERAL_PREFIX |
DBTYPE_WSTR |
Символ или символы, используемые в качестве префикса для этого типа в тексте команды. |
|
LITERAL_SUFFIX |
DBTYPE_WSTR |
Символ или символы, используемые в качестве суффикса для этого типа в тексте команды. |
|
CREATE_PARAMS |
DBTYPE_WSTR |
Параметры создания, указываемые клиентом при создании столбца этого типа данных. Например, для типа данных SQL DECIMAL, требуются точность и масштаб. В этом случае параметрами создания может быть «точность и масштаб» строки. В тексте команды для создания столбца DECIMAL с точностью 10 и масштабом 2, столбец TYPE_NAME может иметь значение DECIMAL(), а полной спецификацией типа будет DECIMAL(10,2). Параметры создания отображаются в виде списка значений с разделителями-запятыми в порядке, в котором они предоставляются, и без открывающих и закрывающих скобок. Если параметром создания является длина, максимальная длина, точность, масштаб, начальное значение или приращение, используйте соответственно «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 |
Значение Boolean, которое указывает, заданы ли для типа фиксированные точность и масштаб. VARIANT_TRUE указывает, что тип имеет фиксированные точность и масштаб. VARIANT_FALSE указывает, что для типа не заданы фиксированные точность и масштаб. |
|
AUTO_UNIQUE_VALUE |
DBTYPE_BOOL |
Значение типа Boolean, указывающее, является ли тип данных автоматически увеличивающимся. 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_VARNUMERIC, DBTYPE_DECIMAL или DBTYPE_NUMERIC, то минимальное количество цифр, которые могут стоять справа от десятичного знака. В противном случае — значение 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 |
Значение типа Boolean, указывающее на то, относится тип данных к большим двоичным объектам (BLOB) или к типу «длинное целое». VARIANT_TRUE указывает на тип данных BLOB, содержащий тип «длинное целое»; определение типа «длинное целое» зависит от поставщика. VARIANT_FALSE указывает на тип данных BLOB, не содержащий тип «длинное целое», или на другой тип данных, отличный от BLOB. Значение определяет настройку флага DBCOLUMNFLAGS_ISLONG, возвращаемого GetColumnInfo в IColumnsInfo и GetParameterInfo в ICommandWithParameters. |
|
BEST_MATCH |
DBTYPE_BOOL |
Значение типа Boolean, указывающее, является ли тип данных наиболее точным соответствием. VARIANT_TRUE указывает, что тип данных является наиболее точным соответствием всех типов данных в хранилище данных и тип данных OLE DB, указываемый значением в столбце DATA_TYPE. VARIANT_FALSE указывает, что тип данных не является лучшим соответствием. Для каждого набора строк, в которых значение столбца DATA_TYPE идентично, для столбца BEST_MATCH задается VARIANT_TRUE только в одной строке. |
|
IS_FIXEDLENGTH |
DBTYPE_BOOL |
Логическое значение, которое указывает, имеет ли столбец фиксированную длину. VARIANT_TRUE указывает, что столбцы этого типа, созданные с использованием языка описания данных (DDL) будут иметь фиксированную длину. VARIANT_FALSE указывает, что столбцы этого типа, созданные с использованием языка описания данных (DDL) будут иметь переменную длину. Если поле имеет значение NULL, то неизвестно, будет ли поставщик сопоставлять это поле со столбцом с фиксированной или переменной длиной. |
Набор строк отсортирован по полю DATA_TYPE.
Столбцы ограничений
Набор строк DBSCHEMA_PROVIDER_TYPES может быть ограничен столбцами, перечисленными в следующей таблице.
Имя столбца |
Индикатор типа |
Состояние ограничения |
---|---|---|
DATA_TYPE |
DBTYPE_UI2 |
|
BEST_MATCH |
DBTYPE_BOOL |