Lorsqu’on développe un rapport sous SQL Server Reporting Services (SSRS), il est plutôt ennuyeux de voir que les modifications que l’on apporte à un rapport ne sont pas prises en compte dans l’aperçu de Business Intelligence Development Studio (BIDS) ou de SQL Server Data Tools (SSDT). Même si l’on clique sur le bouton Refresh du rapport, ou que l’on redémarre BIDS / SSDT, il n’y a rien à faire.
La solution, certes radicale, est de supprimer les fichiers *.rdl.data qui se trouvent dans le répertoire de la solution. On peut réaliser cela très simplement et de façon générique pour toutes les solutions de rapports SSRS.
J’ai d’abord cherché s’il n’existait pas une option dans les menus de BIDS et SSDT pour réaliser ceci, en vain. En revanche, j’ai été intrigué par le menu Tools > External Tools :
On peut donc appeler un exécutable, et par la même une commande DOS, ce qui nous permet donc de supprimer les fichiers *.rdl.data. Comme je suis flemmard, je voulais faire en sorte que cela fonctionne quelle que soit la solution dans laquelle je travaille. En cherchant un peu, on tombe sur cette page, qui donne la liste des variables qui permettent d’automatiser la build d’un projet.
Après plusieurs changements de variables et essais, je suis arrivé à la commande suivante :
Nous appelons donc l’invite de commandes DOS, en lui passant en argument :
– /C : une fois la commande exécutée, terminer le processus cmd.exe
– /Q : exécution en mode silencieux
– $ProjectDir retourne le chemin du dossier qui contient tous les fichiers du projet
Comme cette dernière variable contient l’antislash en fin de chaîne, il n’y a pas besoin de l’ajouter.
Il nous suffit donc maintenant de cliquer sur Tools > Flush SSRS Data Cache, et de ré-exécuter un aperçu du rapport pour s’apercevoir que celui-ci prend maintenant en compte ses toutes dernières modifications.
Bon reporting à tous !