Поделиться через


Набор строк 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.

Этот столбец может принимать следующие значения:

  • DB_UNSEARCHABLE показывает, что данные этого типа нельзя использовать в предложении WHERE.

  • DB_LIKE_ONLY показывает, что данные этого типа можно использовать в предложении WHERE только с предикатом LIKE.

  • DB_ALL_EXCEPT_LIKE показывает, что данные этого типа можно использовать в предложении WHERE со всеми операторами сравнения, кроме LIKE.

  • DB_SEARCHABLE показывает, что данные этого типа можно использовать в предложении WHERE с любыми операторами сравнения.

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

См. также

Справочник