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

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

Tech - Par iTPro - 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 gratuitement cette ressource

Guide de Services Cloud Managés

Guide de Services Cloud Managés

Accélérer votre transformation digitale, protéger et sécuriser vos environnements Cloud avec les offres de support, d'accompagnement et de services managés. Découvrez le TOP 3 des Services Managés pour accompagner la transformation de vos environnements Cloud, gagner en agilité et en sécurité dans un monde d'incertitudes.

Tech - Par iTPro - Publié le 24 juin 2010