Les développeurs de base de données ADO.NET utilisent fréquemment les chaînes T-SQL afin de récupérer des données pour leurs applications. Si leur connaissance de la conception d’une base de données et/ou du langage T-SQL est insuffisante, le processus de création des chaînes pour leurs applications peut aboutir à des conceptions d’accès aux données inefficaces, voire à des ensembles de résultats présentant des valeurs erronées.Dans ce type de situation, la réutilisation du code T-SQL dans des objets de base de données tels que des procédures stockées et des fonctions définies par l’utilisateur (UDF) présente des avantages particuliers. Cette approche peut contribuer à simplifier la tâche d’accès aux données et sécuriser le schéma d’une base de données. Un développeur ou DBA confirmé peut préparer une bibliothèque de code T-SQL qui sera ensuite réutilisée par des développeurs débutants ou un peu aguerris pour de nombreuses tâches courantes d’accès aux données. Le développeur ou DBA peut en outre exiger que les applications client se connectent via des comptes de sécurité qui ont le droit d’appeler les procédures stockées et fonctions UDF de la bibliothèque, mais pas nécessairement les objets sous-jacents.
Dans cet article, nous allons étudier les techniques pour le traitement des procédures stockées et des fonctions UDF avec ADO.NET et Visual Basic .NET. Pour ce faire, nous allons utiliser deux exemples d’applications s’appuyant sur les tables Categories et Products de la base de données exemple Northwind. Vous pouvez réaliser une jointure entre ces deux tables sur les valeurs de la colonne CategoryID. Il est possible d’adapter les exemples de code présentés ici afin des les appliquer à toute paire de tables jointes sur une ou plusieurs paires de valeurs de colonne. Les exemples de code T-SQL sont également utiles à un autre titre : ils exposent les techniques pouvant servir à améliorer la réutilisabilité du code.
Ces techniques incluent l’utilisation de paramètres d’entrée, de paramètres de sortie et de valeurs d’état de retour avec des procédures stockées, ainsi que la mise en oeuvre de valeurs scalaires et de valeurs de type table retournées par les fonctions UDF. En apprenant ces techniques et en les appliquant dans vos applications, vous décuplerez la réutilisabilité du code T-SQL dans vos procédures stockées et fonctions UDF. (Vous pouvez cependant appliquer les techniques Visual Basic .NET présentées dans cet article avec n’importe quel langage .NET qui met en oeuvre la programmation ADO.NET, tel que C#).
Créez votre propre bibliothèque de code
La bibliothèque de code T-SQL pour l’exemple de cet article est constituée d’une procédure stockée et de trois fonctions UDF, toutes placées dans la base de données SSMProcFunc. Sur www.itpro.fr Club abonnés, vous pouvez télécharger le fichier SqlMagProc FuncSqlScript.zip contenant l’intégralité du code T-SQL servant à créer ladite base de données et ses objets. Le code crée aussi un login d’accès à SSMProcFunc et octroie des droits permettant au compte d’utilisateur du login d’appeler les objets de base de données contenant le code T-SQL.
Examinons plus en détail le code de création des objets de base de données utilisés par l’application. La procédure stockée et les trois fonctions UDF constituent des techniques complémentaires pour parvenir au même résultat. Par conséquent, vous allez généralement appliquer l’une des approches, mais pas les deux. Au cours de la mise en oeuvre, vous allez découvrir des cas pour lesquels l’une ou l’autre des techniques est plus appropriée à un contexte particulier.
Téléchargez cette ressource
Livre blanc Sécurité et Stockage des documents
Découvrez dans ce livre blanc Kyocera les outils logiciels qui permettent une approche holistique et efficace de la collecte, du stockage, de la gestion et de la sécurisation des documents en entreprise.
Les articles les plus consultés
- Dark Web : où sont vos données dérobées ?
- Les projets d’intégration augmentent la charge de travail des services IT
- ActiveViam fait travailler les data scientists et les décideurs métiers ensemble
- 10 grandes tendances Business Intelligence
- Intelligence Artificielle : DeepKube sécurise en profondeur les données des entreprises