Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les applications ODBC effectuent presque tous leur accès à la base de données en exécutant des instructions Transact-SQL. La forme de ces instructions dépend des exigences de l’application. Les instructions SQL peuvent être construites de la manière suivante :
Codé en dur
Instructions statiques effectuées par une application en tant que tâche fixe.
Construit au moment de l’exécution
Instructions SQL construites au moment de l’exécution qui permettent à l’utilisateur d’adapter l’instruction à l’aide de clauses communes, telles que SELECT, WHERE et ORDER BY. Cela inclut les requêtes ad hoc entrées par les utilisateurs.
Le pilote ODBC du client SQL Server analyse uniquement les instructions SQL pour la syntaxe ODBC et ISO non directement prise en charge par le moteur de base de données, que le pilote transforme en Transact-SQL. Toutes les autres syntaxes SQL sont transmises au moteur de base de données inchangé, où SQL Server détermine s’il s’agit d’un serveur SQL Server valide. Cette approche offre deux avantages :
Réduction de la surcharge
La surcharge de traitement pour le pilote est réduite, car elle doit uniquement analyser un petit ensemble de clauses ODBC et ISO.
Flexibilité
Les programmeurs peuvent adapter la portabilité de leurs applications. Pour améliorer la portabilité sur plusieurs bases de données, utilisez principalement ODBC et la syntaxe ISO. Pour utiliser des améliorations spécifiques à SQL Server, utilisez la syntaxe Transact-SQL appropriée. Le pilote ODBC SQL Server Native Client prend en charge la syntaxe de Transact-SQL complète afin que les applications ODBC puissent tirer parti de toutes les fonctionnalités de SQL Server.
La liste des colonnes d’une instruction SELECT doit contenir uniquement les colonnes requises pour effectuer la tâche actuelle. Cela réduit non seulement la quantité de données envoyées sur le réseau, mais également l’effet des modifications de base de données sur l’application. Si une application ne fait pas référence à une colonne à partir d’une table, l’application n’est pas affectée par les modifications apportées à cette colonne.