Identificadores de conexión
Una conexión consta de un controlador y un origen de datos. Un identificador de conexión identifica cada conexión. El identificador de conexión define no solo qué controlador se va a usar, sino qué origen de datos se va a usar con ese controlador. Dentro de un segmento de código que implementa ODBC (el administrador de controladores o un controlador), el identificador de conexión identifica una estructura que contiene información de conexión, como la siguiente:
Estado de la conexión
Diagnóstico a nivel de la conexión actual
Identificadores de instrucciones y descriptores asignados actualmente en la conexión
Configuración actual de cada atributo de conexión
ODBC no impide varias conexiones simultáneas si el controlador las admite. Por lo tanto, en un entorno de ODBC determinado, varios controladores de conexión pueden apuntar a una variedad de controladores y orígenes de datos, al mismo controlador y a una variedad de orígenes de datos o, incluso, a varias conexiones al mismo controlador y origen de datos. Algunos controladores limitan el número de conexiones activas que admiten; la opción SQL_MAX_DRIVER_CONNECTIONS de SQLGetInfo especifica cuántas conexiones activas admite un controlador en particular.
Los identificadores de conexión se usan principalmente al conectarse al origen de datos (SQLConnect, SQLDriverConnect o SQLBrowseConnect), desconectarse del origen de datos (SQLDisconnect), obtener información sobre el controlador y el origen de datos (SQLGetInfo), recuperar diagnósticos (SQLGetDiagField y SQLGetDiagRec) y realizar transacciones (SQLEndTran). También se usan al establecer y obtener atributos de conexión (SQLSetConnectAttr y SQLGetConnectAttr) y al obtener el formato nativo de una instrucción SQL (SQLNativeSql).
Los identificadores de entorno se asignan con SQLAllocHandle y se liberan con SQLFreeHandle.