[SSRS] Problème de chargement d’un dataset (et multi requête SQL dans un dataset)
Tiens rapidement la résolution d’une petite erreur sur laquelle je viens de tomber en cherchant à modifier la requête d’un dataset suivant la valeur d’un paramètre.
An error occurred during local report processing. An error as occurred during report processing. Query execution failed for dataset 'Liste'. ExecuteReader : CommandText property has not been initialized (La propriété CommandText n'a pas été initialisée) |
En fait, bien que pas forcément clair, le message d’erreur vous informe que la requête SQL de l’objet ExecuteReader n’a pas pu être exécuté puisque sa propriété CommandText (qui contient la requête SQL) n’a pas été initialisée. Cela est généralement du à une erreur lors de la saisie de la requête dans le dataset.
Donc le problème est simple à résoudre. Il suffit juste de vérifier que l’ensemble des dataset a bien à sa disposition une requête SQL valide ce qui permettra d’éviter cette erreur.
Au passage, je suis tombé sur cette erreur en cherchant à charger des valeurs différentes dans un paramètre en fonction de la sélection d’un autre paramètre. La solution est simple, il suffit d’écrire une expression contenant les deux requêtes (ou x requêtes) possibles en fonction de la valeur sélectionnée du premier paramètre.
Exemple :
= Switch( Parameters!TypeRapport.Value = "Localite" ," SELECT DISTINCT CodeVille AS value, Location as label FROM Companies ORDER BY Location ", Parameters!TypeRapport.Value = "Personne" , "SELECT [Code Personnel] AS value,[Nom Personnel] AS Label FROM [Agents] ORDER BY [Nom Personnel]") |
Cette expression va permettre de charger dans le dataset soit la liste des villes des compagnies soit la liste du personnel en fonction de la valeur du paramètre TypeRapport .
Il suffit ensuite de lier ce dataset à un nouveau paramètre et le tour est joué.
Et pour aller plus loin je vous conseille la lecture de :
[SSRS] Comment changer dynamiquement la couleur des diagrammes avec SSRS ?
2 commentaires sur « [SSRS] Problème de chargement d’un dataset (et multi requête SQL dans un dataset) »