Comment gérer efficacement les paramètres SSRS multi-valués

Petit rappel, lorsque que plusieurs valeurs sont sélectionnées dans un paramètre SSRS, ce dernier nous renvoie une chaîne de caractères dans laquelle sont concaténées toutes les valeurs clés, séparées par des virgules.

Exemple : @myParam = ‘test 1,test2,test3,test 4,test 5’

Alors pour requêter vos données, par pitié, éviter les choses bien moches tel que :

  • du SQL dynamique dans une procédure stockée
  • du SQL dynamique embarqué dans votre dataset SSRS à l’aide d’une expression vous permettant de splitter les valeurs multiple des paramètres, …

Ces solutions hasardeuses créent des failles de sécurité; car qui dit SQL dynamique, dit injection de code possible => à éviter donc, comme la peste.
J’en profite pour glisser, au passage, quelques bonnes pratiques :

  • proscrire l’usage de SQL dynamique sur vos instances à l’aide de « policies »
  • arrêter d’embarquer du code SQL comme des bœufs dans vos rapports => utiliser des procédures stockées.

Mais alors comment faire pour gérer des paramètres SSRS multi-valués dans vos requêtes SQL ? Lire la suite