> Tech > I. Paramétrage des requêtes côté client (2)

I. Paramétrage des requêtes côté client (2)

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

État des lieux de la réponse à incident de cybersécurité

État des lieux de la réponse à incident de cybersécurité

Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT