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


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

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

  • 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

Значение 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

См. также

Справочник

Наборы строк схемы OLE DB