Handles de connexion
Une connexion se compose d’un pilote et d’une source de données. Un handle de connexion identifie chaque connexion. Le handle de connexion définit non seulement le pilote à utiliser, mais la source de données à utiliser avec ce pilote. Dans un segment de code qui implémente ODBC (gestionnaire de pilotes ou pilote), le handle de connexion identifie une structure qui contient des informations de connexion, telles que les suivantes :
État de la connexion
Diagnostics au niveau de la connexion actuels
Handles d’instructions et de descripteurs actuellement alloués sur la connexion
Paramètres actuels de chaque attribut de connexion
ODBC n’empêche pas plusieurs connexions simultanées, si le pilote les prend en charge. Par conséquent, dans un environnement ODBC particulier, plusieurs handles de connexion peuvent pointer vers divers pilotes et sources de données, vers le même pilote et une variété de sources de données, ou même vers plusieurs connexions au même pilote et à la même source de données. Certains pilotes limitent le nombre de connexions actives qu’ils prennent en charge ; l’option SQL_MAX_DRIVER_CONNECTIONS dans SQLGetInfo spécifie le nombre de connexions actives qu’un pilote particulier prend en charge.
Les handles de connexion sont principalement utilisés lors de la connexion à la source de données (SQLConnect, SQLDriverConnect ou SQLBrowseConnect), la déconnexion de la source de données (SQLDisconnect), l’obtention d’informations sur le pilote et la source de données (SQLGetInfo), la récupération des diagnostics (SQLGetDiagField et SQLGetDiagRec) et l’exécution de transactions (SQLEndTran). Ils sont également utilisés lors de la définition et de l’obtention d’attributs de connexion (SQLSetConnectAttr et SQLGetConnectAttr) et lors de l’obtention du format natif d’une instruction SQL (SQLNativeSql).
Les handles de connexion sont alloués avec SQLAllocHandle et libérés avec SQLFreeHandle.