Si le paramétrage côté client est mal programmé il peut causer plus de dégradation que de gain.
Puisque le serveur ne peut pas paramétrer les requêtes, et l'avantage du paramétrage simple ou obligatoire est perdu. Nous essayerons d'illustrer certaines des erreurs communément faites, et recommanderons également quelques bonnes
I. Paramétrage des requêtes côté client (2)
pratiques.
Considérez l’exemple au-dessous où le code client se fonde entièrement sur le paramétrage de côté de serveur :
command.CommandText = "Select * From t1 Where col1 = 1 And col2 = ‘abcd’";
command.ExecuteNonQuery();
command.CommandText = "Select * From t1 Where col1 = 1 And col2 = ‘abc’";
command.ExecuteNonQuery();
Ceci a comme conséquence un plan paramétré, le serveur effectue le paramétrage :
(@1 tinyint,@2 varchar(8000))SELECT * FROM [t1] WHERE [col1]=@1 AND [col2]=@2
Notez qu’en l’absence de paramétrage du côté client, le mappage forcé des types côté serveur s’applique. Toutes les requêtes sont mappées à Varchar (8000) ou à Nvarchar (4000). Si le paramètre est plus grand que Varchar(8000) alors Nvarchar(max) est utilisé.
Tandis que ceci peut sembler acceptable, si les paramètres sont toujours limités à disons 50 caractères (limités par le type et la longueur de la colonne), ce n’est pas une solution optimale. Considérez maintenant l’exemple suivant où la requête a été paramétrée incorrectement :
command.CommandText = "Select * From t1 Where col1 = @id And col2 = @str";
command.Parameters.AddWithValue("@id", 1);
command.Parameters.AddWithValue("@str", "abc");
command.ExecuteNonQuery();
command.Parameters[0].Value = 2;
command.Parameters[1].Value = "abcd";
command.ExecuteNonQuery();
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Cloud public : la sécurité des données s’impose comme premier critère pour les agents publics
- Le champ de bataille des fournisseurs de services n’est plus l’IA, mais la confiance
- Continuer avec Exchange Server : quelles conséquences ?
- Ransomware : l’IA accélère le vol de données et place les dirigeants dans le viseur
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
