Специальные типы данных для драйвера, типы дескрипторов, типы сведений, диагностические типы и атрибуты
Драйверы могут выделять значения для конкретного драйвера для следующих значений:
Индикаторы типов данных SQL используются в ParameterType в SQLBindParameter и в DataType в SQLGetTypeInfo и возвращаются SQLColAttribute, SQLColumns, SQLDescribeCol, SQLGetTypeInfo, SQLDescribeParam, SQLProcedureColumns и SQLSpecialColumns.
ДескрипторНые поля используются в FieldIdentifier в SQLColAttribute, SQLGetDescField и SQLSetDescField.
Поля диагностики используются в DiagIdentifier в SQLGetDiagField и SQLGetDiagRec.
Типы данных используются в InfoType в SQLGetInfo.
атрибуты Подключение ion и операторов Они используются в атрибутах в SQLGet Подключение Attr, SQLGetStmtAttr, SQLSet Подключение Attr и SQLSetStmtAttr.
Для каждого из этих элементов существует два набора значений: значения, зарезервированные для использования ODBC, и значения, зарезервированные для использования драйверами. Перед реализацией значений, зависящих от драйвера, модуль записи драйверов должен запросить значение для каждого типа, поля или атрибута из Open Group. Для разработки новых драйверов используйте диапазон, описанный в таблице ниже. Диспетчер драйверов ODBC 3.8 не создаст ошибку, если неизвестное значение используется не в диапазоне, описанном ниже. Однако более поздние версии диспетчера драйверов могут привести к ошибке, если неизвестные значения получены, которые не находятся в диапазоне.
Когда любой из этих значений передается функции ODBC, драйвер должен проверка, является ли значение допустимым. Драйверы возвращают SQLSTATE HYC00 (необязательный компонент не реализован) для значений, относящихся к другим драйверам.
Начиная с ODBC 3.8, средства записи драйверов могут выделять атрибуты для конкретного драйвера в зарезервированном диапазоне.
Примечание.
Диспетчер драйверов ODBC 3.8 не проверяет и не применяет эти диапазоны для обратной совместимости. Однако будущая версия диспетчера драйверов может применять их.
Тип атрибута | Тип данных ODBC | Базовый диапазон для конкретного драйвера | Ограничение диапазона для конкретного драйвера | Константы ODBC для базового диапазона значений для конкретного драйвера |
---|---|---|---|---|
Индикаторы типов данных SQL | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_SQL_TYPE_BASE |
Поля дескриптора | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DESCRIPTOR_BASE |
Поля диагностики | SQLSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_DIAGNOSTIC_BASE |
Типы информации | SQLUSMALLINT | 0x4000 | 0x7FFF | SQL_DRIVER_INFO_TYPE_BASE |
Атрибуты подключения | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_CONNECT_ATTR_BASE |
Атрибуты инструкции | SQLINTEGER | 0x00004000 | 0x00007FFF | SQL_DRIVER_STATEMENT_ATTR_BASE |
Примечание.
Типы данных для конкретного драйвера, поля дескриптора, поля диагностики, типы сведений, атрибуты инструкции и атрибуты подключения должны быть описаны в документации по драйверу. Когда любой из этих значений передается функции ODBC, драйвер должен проверка, является ли значение допустимым. Драйверы возвращают SQLSTATE HYC00 (необязательный компонент не реализован) для значений, относящихся к другим драйверам.
Базовые значения определяются для упрощения разработки драйверов. Например, атрибуты диагностики для конкретного драйвера можно определить в следующем формате:
SQL_DRIVER_DIAGNOSTIC_BASE+0, SQL_DRIVER_DIAGNOSTIC_BASE +1
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по