Utilisation de paramètres de requête avec des sources de données spécifiques
Nouveau : 17 juillet 2006
Lorsque vous définissez une requête pour un dataset, vous choisissez le type de source de données. Le type de sources de données spécifie l'extension de traitement des données ou le fournisseur de données .NET inscrit permettant d'établir une connexion à la source de données. Le fournisseur de données est la couche logicielle qui interagit avec la source de données et détermine le type de prise en charge des variables dans une requête. Cette rubrique explique comment, pour un jeu de résultats donné, une requête change en fonction de la source de données à laquelle vous êtes connecté, et elle indique si une variable est présente dans la requête.
Variables de requête et fournisseurs de données
Le tableau suivant présente les résultats de données issues de la base de données exemple AdventureWorks. Vous pouvez créer ce jeu de résultats en exécutant une requête Transact-SQL sur la base de données exemple AdventureWorks ou une requête MDX sur le cube Adventure Works déployé dans les exemples de rapports AdventureWorks. Le jeu de résultats présente deux colonnes : le nom des modèles de produit contenant le mot « Mountain » et le nombre correspondant de ventes par Internet.
Nom | Ventes par Internet |
---|---|
Fender Set - Mountain |
2121 |
HL Mountain Tire |
1396 |
LL Mountain Tire |
862 |
ML Mountain Tire |
1161 |
Mountain Bottle Cage (Porte-bouteille Mountain) |
2025 |
Mountain Tire Tube (Chambre à air VTT) |
3095 |
Mountain-100 |
396 |
Mountain-200 |
3552 |
Mountain-400-W |
543 |
Mountain-500 |
479 |
Women's Mountain Shorts (Shorts féminins Mountain) |
1019 |
Dans les sections suivantes, vous découvrirez la requête qui doit être utilisée pour créer ce jeu de résultats, tout d'abord à partir d'une base de données relationnelle, puis à partir d'une base de données multidimensionnelle.
Sources de données d'une base de données relationnelle
Pour une base de données relationnelle telle que Microsoft SQL Server, vous pouvez créer des requêtes à l'aide de Transact-SQL. Bien que cette requête limite les résultats en incluant une clause WHERE qui est définie à une valeur codée en dur, la requête ne contient pas encore de variable.
Requête Transact-SQL |
---|
|
Pour ajouter une variable pour le nom du modèle de produit, PM.Name
, vous devez spécifier un paramètre de requête dans la clause WHERE. Le tableau suivant indique comment spécifier des paramètres de requête pour différents fournisseurs de données. Le fournisseur de données est automatiquement sélectionné pour vous lorsque vous choisissez le type de source de données. La chaîne de connexion de ce fournisseur de données est indiquée dans la deuxième colonne. La requête dans le tableau est identique à la requête ci-dessus, mais elle intègre un paramètre au format pris en charge par le fournisseur de données.
Type de source de données | Fournisseur de données | Requête |
---|---|---|
Microsoft SQL Server |
Microsoft SQL Server (SqlClient) Chaîne de connexion :
|
|
OLE DB |
Fournisseur Microsoft OLE DB pour SQL Server Chaîne de connexion :
|
|
Oracle |
Microsoft SQL Server (OracleClient) |
|
OLE DB |
Tout fournisseur de données .NET inscrit |
Spécifique au fournisseur. |
Dans ces exemples, une variable a été ajoutée à la clause WHERE de la requête ; par conséquent, le test du mot « Mountain » a été remplacé par un test de la valeur de la variable.
- Le fournisseur de données .NET pour SQL Server gère les variables nommées qui commencent par le signe @. Par exemple,
PM.Name ``LIKE '%' + @Mountain + '%')
. - Le fournisseur de données OLE DB pour SQL Server ne gère pas les variables nommées. Utilisez le point d'interrogation (?) pour spécifier une variable. Les paramètres transmis au fournisseur OLE DB doivent être transmis selon leur ordre d'apparition dans la clause WHERE. Par exemple,
PM.Name ``LIKE ('%' + ? + '%')
. - Le fournisseur de données .NET pour Oracle gère les paramètres numérotés qui commencent par le signe deux-points (:). Par exemple,
PM.Name ``LIKE '%' + :1 + '%')
. - La prise en charge de variables par d'autres fournisseurs de données OLE DB est spécifique au fournisseur de données. Consultez la documentation du fournisseur de données pour obtenir plus d'informations.
Le concepteur de requêtes associé à un type de source de données crée un paramètre de requête pour chaque variable identifiée. Ces paramètres de requête sont répertoriés sous l'onglet Paramètre des pages de propriétés Dataset. Pour chaque paramètre de requête, un paramètre de rapport de type Chaîne est créé. Les valeurs des paramètres de requête stipulées pour le dataset sont définies au paramètre de rapport correspondant. Vous pouvez modifier le type de données des paramètres de rapport et d'autres propriétés dans la boîte de dialogue Propriétés du rapport, que vous pouvez ouvrir à partir du menu Rapport en mode Données. Vous pouvez également créer, modifier ou supprimer ces paramètres de requête manuellement. Pour plus d'informations, consultez Dataset (onglet Paramètres, Générateur de rapports).
Sources de données d'une base de données multidimensionnelle
Pour une base de données multidimensionnelle comme Microsoft Analysis Services, vous pouvez créer des requêtes à l'aide de MDX. Bien que cette requête limite les résultats en incluant une clause Filtre définie à une valeur codée en dur, la requête ne contient pas encore de variable.
Requête MDX |
---|
|
Pour ajouter une variable pour le nom du modèle de produit, @ProductModelName, vous devez ajouter une clause FILTER. Le tableau suivant indique que, pour les bases de données multidimensionnelles, les variables font partie d'une clause FILTER. Le type de source de données est la valeur que vous choisissez dans la liste déroulante lorsque vous créez une nouvelle source de données pour Reporting Services. Le fournisseur de données est automatiquement sélectionné pour vous lorsque vous choisissez le type de source de données. La chaîne de connexion de ce fournisseur de données est également indiquée dans la deuxième colonne. La requête dans le tableau est identique à la requête ci-dessus, mais elle intègre un paramètre au format pris en charge par le fournisseur de données.
Type de source de données | Fournisseur de données | Requête |
---|---|---|
Microsoft SQL Server Analysis Services |
SQL Server Analysis Services (AdomdClient) Chaîne de connexion :
|
|
OLE DB |
Fournisseur Microsoft OLE DB pour Analysis Services 9.0 Chaîne de connexion :
|
OLE DB pour OLAP ne gère pas les requêtes paramétrées. Des solutions de contournement sont décrites dans le Livre blanc intitulé « Integrating Analysis Services with Reporting Services » (Intégration d'Analysis Services à Reporting Services). |
Dans ces exemples, une variable a été ajoutée à la clause WHERE de la requête ; par conséquent, le test du mot « Mountain » a été remplacé par un test de la valeur de la variable.
- Microsoft SQL Server Analysis Services prend en charge les paramètres nommés définis dans la section Filtre du concepteur de requêtes MDX. Les variables nommées commencent par le signe @. Par exemple,
@ProductModelName
. - Le fournisseur de données OLE DB pour Analysis Services 9.0 ne prend pas en charge les requêtes paramétrées. Pour plus d'informations, effectuez une recherche de « Intégration d'Analysis Services à Reporting Services » sur msdn.microsoft.com.
- La prise en charge de variables par d'autres fournisseurs de données multidimensionnelles est spécifique au fournisseur de données. Consultez la documentation du fournisseur de données pour obtenir plus d'informations.
Le concepteur de requêtes associé à un type de source de données crée un paramètre de requête pour chaque variable identifiée. Un dataset particulier est créé automatiquement pour fournir des valeurs valides pour chaque paramètre. Ces paramètres de requête sont répertoriés sous l'onglet Paramètre des pages de propriétés Dataset. Pour chaque paramètre de requête, un paramètre de rapport de type Chaîne est créé. Les valeurs des paramètres de requête stipulées pour le dataset sont définies au paramètre de rapport correspondant. Vous pouvez également créer, modifier ou supprimer ces paramètres de dataset manuellement. Pour plus d'informations, consultez Procédure : définir des paramètres dans le Concepteur de requêtes MDX et DMX pour Analysis Services (Générateur de rapports).
Les datasets permettant de fournir des valeurs valides pour toutes les requêtes sont créés chaque fois que la requête est traitée.
Voir aussi
Tâches
Procédure : associer un paramètre de requête à un paramètre de rapport (Générateur de rapports)
Concepts
Utilisation de propriétés de champ étendues pour une base de données Analysis Services
Utilisation du Concepteur de requêtes MDX Analysis Services en mode Création
Utilisation du Concepteur de requêtes MDX Analysis Services en mode Requête
Définition de datasets de rapport pour une base de données relationnelle SQL Server
Définition de datasets de rapport pour des données relationnelles à partir d'une base de données Oracle
Autres ressources
Interface utilisateur du Concepteur de requêtes MDX Analysis Services
Interface utilisateur du Concepteur de requêtes SQL Server