Identificadores de conexão

Uma conexão consiste em um driver e uma fonte de dados. Um identificador de conexão identifica cada conexão. O identificador de conexão define não apenas qual driver usar, mas qual fonte de dados usar com esse driver. Dentro de um segmento de código que implementa ODBC (o Gerenciador de Driver ou um driver), o identificador de conexão identifica uma estrutura que contém informações de conexão, como as seguintes:

  • O estado da conexão

  • O diagnóstico de nível de conexão atual

  • Os identificadores de instruções e descritores atualmente alocados na conexão

  • As configurações atuais de cada atributo de conexão

ODBC não impede várias conexões simultâneas, se o driver oferece suporte a elas. Portanto, em um ambiente ODBC específico, vários identificadores de conexão podem apontar para uma variedade de drivers e fontes de dados, para o mesmo driver e uma variedade de fontes de dados ou até mesmo para várias conexões com o mesmo driver e fonte de dados. Alguns drivers limitam o número de conexões ativas que suportam; a opção SQL_MAX_DRIVER_CONNECTIONS em SQLGetInfo especifica quantas conexões ativas um determinado driver suporta.

Os identificadores de conexão são usados principalmente ao se conectar à fonte de dados (SQLConnect, SQLDriverConnect ou SQLBrowseConnect), desconectar-se da fonte de dados (SQLDisconnect), obter informações sobre o driver e a fonte de dados (SQLGetInfo), recuperar diagnósticos (SQLGetDiagField e SQLGetDiagRec), e executar transações (SQLEndTran). Eles também são usados ao definir e obter atributos de conexão (SQLSetConnectAttr e SQLGetConnectAttr) e ao obter o formato nativo de uma instrução SQL (SQLNativeSql).

Os identificadores de conexão são alocados com SQLAllocHandle e liberados com SQLFreeHandle.