Приложение Г. Типы данных

ODBC определяет два набора данных: типы данных SQL и типы данных C. Типы данных SQL указывают тип данных, хранящихся в источнике данных. Типы данных C указывают тип данных, хранящихся в буферах приложений.

Типы данных SQL определяются каждой СУБД в соответствии со стандартом SQL-92. Для каждого типа данных SQL, указанного в стандарте SQL-92, ODBC определяет идентификатор типа, который является #define значением, которое передается в качестве аргумента в функциях ODBC или возвращается в метаданных результирующий набор. Единственными типами данных SQL-92, не поддерживаемыми ODBC, являются BIT (тип ODBC SQL_BIT имеет разные характеристики), BIT_VARYING, TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE и NATIONAL_CHARACTER. Драйверы отвечают за сопоставление типов данных SQL для конкретного источника данных SQL с идентификаторами типов данных ODBC SQL и идентификаторами типа данных SQL для конкретного драйвера. Тип данных SQL указан в поле SQL_DESC_CONCISE_TYPE дескриптора реализации.

ODBC определяет типы данных C и соответствующие идентификаторы типов ODBC. Приложение указывает тип данных C буфера, который получит данные результирующих наборов, передав соответствующий идентификатор типа C в аргументе TargetType в вызове SQLBindCol или SQLGetData. Он указывает тип C буфера, содержащего параметр оператора, передав соответствующий идентификатор типа C в аргументе ValueType в вызове SQLBindParameter. Тип данных C указывается в поле SQL_DESC_CONCISE_TYPE дескриптора приложения.

Заметка

Нет типов данных C, относящихся к драйверу.

Каждый тип данных SQL соответствует типу данных ODBC C. Перед возвратом данных из источника данных драйвер преобразует его в указанный тип данных C. Перед отправкой данных в источник данных драйвер преобразует его из указанного типа данных C.

Это приложение содержит следующие разделы.

Описание типов данных ODBC см. в разделе "Типы данных" в ODBC. Сведения о типах данных SQL для конкретного драйвера см. в документации по драйверу.