Construction d'une instruction SQL (ODBC)

Les applications ODBC effectuent la plus grande partie de leur accès aux bases de données en exécutant des instructions Transact-SQL. La forme de ces instructions dépend des spécifications d'application. Les instructions SQL peuvent être construites des manières suivantes :

  • Codées de manière irréversible

    Instructions statiques exécutées par une application en tant que tâche fixe.

  • Construction au moment de l'exécution

    Les instructions SQL construites au moment de l'exécution permettent à l'utilisateur de personnaliser l'instruction en utilisant des clauses courantes telles que SELECT, WHERE et ORDER BY. Cela inclut les requêtes ad hoc entrées par les utilisateurs.

Le pilote ODBC SQL Server Client analyse les instructions SQL uniquement pour la syntaxe ODBC et ISO non prise en charge directement par le Moteur de base de données, que le pilote transforme en Transact-SQL. Toute autre syntaxe SQL est passée au Moteur de base de données inchangée, où SQL Server déterminera s'il s'agit de SQL Server valide. Cette approche fournit deux avantages :

  • Réduction des coûts

    Les coûts de traitement pour le pilote sont réduits car il doit analyser seulement un petit ensemble de clauses ODBC et ISO.

  • Souplesse

    Les programmeurs peuvent personnaliser la portabilité de leurs applications. Pour améliorer la portabilité contre plusieurs bases de données, utilisez principalement la syntaxe ODBC et 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 Transact-SQL complète, de sorte que les applications basées sur ODBC peuvent tirer parti de toutes les fonctionnalités dans SQL Server.

La liste de colonnes dans 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 réduit également l'impact des modifications de base de données sur l'application. Si une application ne fait pas référence à une colonne d'une table, elle n'est pas affectée par les modifications apportées à cette colonne.

Voir aussi

Concepts