Partager via


Allocation d'un handle de connexion

Pour que l'application puisse se connecter à une source de données ou à un pilote, elle doit auparavant allouer un handle de connexion. Pour cela, elle appelle SQLAllocHandle avec le paramètre HandleType ayant pour valeur SQL_HANDLE_DBC et InputHandle pointant vers un handle d'environnement initialisé.

Les caractéristiques de la connexion sont contrôlées en définissant des attributs de connexion. Par exemple, étant donné que les transactions se produisent au niveau de la connexion, le niveau d'isolation de la transaction est un attribut de connexion. De la même façon, le délai d'expiration de la connexion (c'est-à-dire le nombre de secondes s'écoulant avant l'expiration de la tentative de connexion) est un attribut de connexion.

Les attributs de connexion sont définis avec SQLSetConnectAttr, et leurs paramètres actuels sont récupérés avec SQLGetConnectAttr. Si SQLSetConnectAttr est appelé avant une tentative de connexion, le gestionnaire de pilotes ODBC stocke les attributs dans sa structure de connexion et les définit dans le pilote dans le cadre du processus de connexion. Certains attributs de connexion doivent être définis avant toute tentative de connexion de l'application ; d'autres peuvent être définis une fois la connexion établie. Par exemple, SQL_ATTR_ODBC_CURSORS doit être défini avant l'établissement d'une connexion, mais SQL_ATTR_AUTOCOMMIT peut être défini une fois la connexion établie.

Les applications s'exécutant sur SQL Server version 7.0 ou version ultérieure peuvent améliorer leurs performances en réinitialisant la taille du paquet réseau du flux TDS (Tabular Data Stream). La taille du paquet par défaut est définie au niveau du serveur avec la valeur 4 Ko. Une taille de paquet comprise entre 4 Ko et 8 Ko offre généralement les meilleures performances. Si les tests indiquent qu'une taille de paquet différente offre de meilleures performances, l'application peut réinitialiser la taille du paquet. Les applications ODBC peuvent effectuer cette opération avant de se connecter en appelant SQLSetConnectAttr avec l'option SQL_ATTR_PACKET_SIZE. Certaines applications fonctionnent mieux avec une taille de paquet plus grande, mais les gains en termes de performances sont généralement minimes pour les tailles de paquet supérieures à 8 Ko.

Le pilote ODBC SQL Server Native Client possède plusieurs attributs de connexion étendus qu'une application peut utiliser pour augmenter ses fonctionnalités. Certains de ces attributs contrôlent les mêmes options que celles qui peuvent être spécifiées dans les sources de données et qui sont utilisées pour remplacer n'importe quelle option définie dans une source de données. Par exemple, si une application utilise des identificateurs entre guillemets, elle peut attribuer à l'attribut SQL_COPT_SS_QUOTED_IDENT spécifique au pilote la valeur SQL_QI_ON pour faire en sorte que cette option soit toujours définie indépendamment du paramètre dans une source de données quelconque.