Дескрипторы подключений

Подключение состоит из драйвера и источника данных. Дескриптор подключения определяет каждое соединение. Дескриптор подключения определяет не только драйвер для использования, но и источник данных, используемый с этим драйвером. В сегменте кода, реализующего ODBC (диспетчер драйверов или драйвер), дескриптор подключения определяет структуру, содержащую сведения о подключении, например следующую:

  • Состояние подключения

  • Текущий диагностика уровня подключения

  • Дескрипторы операторов и дескрипторов, выделенных в настоящее время для подключения

  • Текущие параметры каждого атрибута подключения

ODBC не предотвращает несколько одновременных подключений, если драйвер поддерживает их. Таким образом, в определенной среде ODBC несколько дескрипторов подключения могут указывать на различные драйверы и источники данных, на один драйвер и различные источники данных или даже несколько подключений к одному драйверу и источнику данных. Некоторые драйверы ограничивают количество активных подключений, которые они поддерживают; параметр SQL_MAX_DRIVER_CONNECTIONS в SQLGetInfo указывает, сколько активных подключений поддерживает конкретный драйвер.

Дескрипторы подключения в основном используются при подключении к источнику данных (SQLConnect, SQLDriverConnect или SQLBrowseConnect), отключению от источника данных (SQLDisconnect), получении сведений об драйвере и источнике данных (SQLGetInfo), получении диагностика (SQLGetDiagField и SQLGetDiagRec) и выполнении транзакций (SQLEndTran). Они также используются при настройке и получении атрибутов подключения (SQLSetConnectAttr и SQLGetConnectAttr) и при получении собственного формата инструкции SQL (SQLNativeSql).

Дескриптор подключения выделяется с помощью SQLAllocHandle и освобождается с помощью SQLFreeHandle.