Набор строк 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, требует указания точности и масштаба. В этом случае параметры создания могут быть представлены в виде строки «precision,scale». В тексте команды для создания столбца 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 |
Логическое значение, которое показывает, имеют ли данные этого типа фиксированную точность и масштаб. 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_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 |
Логическое значение, которое показывает, является ли тип данных большим двоичным объектом (BLOB) и содержит данные очень большого объема. VARIANT_TRUE показывает, что данные этого типа являются объектом BLOB, который содержит данные очень большой длины. Определение данных очень большой длины зависит от поставщика. VARIANT_FALSE показывает, что данные этого типа являются объектом BLOB, который не содержит данных очень большой длины или не является объектом BLOB. Это значение определяет настройку флага DBCOLUMNFLAGS_ISLONG, возвращаемого методом GetColumnInfo интерфейса IColumnsInfo и методом GetParameterInfo интерфейса ICommandWithParameters. |
|
BEST_MATCH |
DBTYPE_BOOL |
Логическое значение, которое показывает, является ли тип данных наилучшим соответствием. 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 |