Contrôles Reporting Services et ReportViewer dans Visual Studio 2010

Les contrôles ReportViewer sont des contrôles ASP.NET et Windows Forms dans Visual Studio 2010 que vous pouvez ajouter respectivement à une page Web AJAX dans une application/un site Web ASP.NET et à un formulaire dans une application Windows Forms. Le contrôle incorpore les fonctions de traitement et d'affichage des rapports directement dans votre application. Il fournit également un environnement de conception intégré vous permettant de construire des définitions de rapport client (.rdlc) en utilisant n'importe quel objet de données ADO.NET. Une API entièrement fonctionnelle fournit un accès par programme au contrôle et aux rapports afin que vous puissiez configurer la fonctionnalité du rapport au moment de l'exécution. Par ailleurs, le contrôle ASP.NET AJAX dans Visual Studio 2010 introduit un jeu d'API JavaScript, intégré à Microsoft Ajax Library qui permet à l'application hôte d'interagir avec le contrôle ReportViewer grâce à la programmation côté client.

Pour en savoir plus sur le contrôle ReportViewer, recherchez « Contrôles ReportViewer » dans la documentation du produit Visual Studio.

Synthèse des fonctionnalités

Le tableau suivant montre une comparaison des contrôles ReportViewer et de Reporting Services pour le traitement des rapports, l'extraction des données, le déploiement et la conception de rapports. Ces informations vous permettront de déterminer la technologie Microsoft de création de rapports constituant le meilleur choix pour votre application.

Notes

En mode de traitement à distance, les contrôles ReportViewer dans Visual Studio 2010 prennent en charge SQL Server 2008 Reporting Services ou SQL Server 2008 R2 Reporting Services.

Fonctionnalité

Contrôles ReportViewer

SQL Server Reporting Services

Traitement de rapport

Mode de traitement local :

Traite les rapports dans l'application cliente.

Mode de traitement à distance :

Effectue le rendu des rapports de serveur traités sur un serveur de rapports SQL Server Reporting Services.

Traite les rapports sur un serveur de rapports.

Formats de sortie des rapports

Mode de traitement local :

GDI pour des rapports qui s'exécutent dans des applications Windows. HTML pour des rapports qui s'exécutent dans des pages Web ASP.NET.

Les formats d'exportation comprennent Excel, PDF et Word.

Mode de traitement à distance :

Les formats de rendu disponibles dépendent des extensions de rendu configurées sur le serveur de rapports SQL Server Reporting Services.

HTML, MHTML, TIFF, PDF, Excel, Word, CSV et XML.

Il est possible d'écrire des formats de sortie personnalisés.

Fonctions des rapports

Mode de traitement local :

Rapports interactifs et statiques pour des données multidimensionnelles, relationnelles et visuelles.

Vous pouvez définir des assemblys personnalisés qui s'exécutent dans le rapport.

Vous pouvez utiliser des expressions pour fournir une mise en forme conditionnelle et des agrégations.

Mode de traitement à distance :

Les fonctionnalités disponibles sont déterminées par le serveur de rapports SQL Server Reporting Services.

Les fonctions des rapports incluent celles qui sont fournies dans des rapports s'exécutant dans un contrôle ReportViewer en mode de traitement local, plus la prise en charge de contrôles de rapports personnalisés que vous pouvez créer et exécuter dans un rapport.

SQL Server 2008 R2 Reporting Servicesprend en charge des fonctionnalités supplémentaires, telles que les plans, les graphiques sparkline, les agrégats d'agrégats et des fonctions améliorées de traitement et de rendu.

Types de sources de données et extraction des données

Mode de traitement local :

Établissez une liaison directe à des tables de données ADO.NET et consommez les instances DataTable fournies au contrôle. Vous pouvez également établir un lien direct à des objets métier.

Mode de traitement à distance :

Les types de sources de données disponibles dépendent des extensions de traitement des données configurées sur le serveur de rapports SQL Server Reporting Services.

Données intégrées et traitement du rapport sur un serveur de rapports et sur des serveurs de données distants.

Les extensions de traitement de données sur le serveur de rapports déterminent les types de sources de données pris en charge. Les sources de données par défaut comprennent SQL Server, Analysis Services, SQL Server Integration Services, Oracle, XML et OLEDB. Dans SQL Server 2008 R2 Reporting Services, les sources de données suivantes sont également prises en charge : SQL Server SharePoint List, SQL Azure et SQL Server Parallel Data Warehouse.

Des extensions de traitement de données personnalisées peuvent être créées pour prendre en charge d'autres types de sources de données.

Paramétrage des rapports

Mode de traitement local :

La prise en charge intégrée de paramètres de rapport permet le filtrage conditionnel du jeu de résultats en fonction d'une valeur statique.

En mode de traitement local, le contrôle ReportViewer ne fournit pas de zone d'entrée de paramètres que vous pouvez utiliser pour transmettre des valeurs utilisées lors du traitement des données. Il n'y a pas d'intégration entre le traitement des données et le traitement du rapport. Si vous souhaitez accepter l'entrée par l'utilisateur de paramètres de requête ou de paramètres de rapport au moment de l'exécution, vous devez écrire du code dans votre application pour la prendre en charge.

Mode de traitement à distance :

Identique à SQL Server Reporting Services.

Les paramètres de rapport peuvent être mappés à des paramètres de requête, offrant ainsi un moyen de transmettre des valeurs de paramètres à une requête au moment de l'exécution. Une zone de message du paramètre est fournie par défaut sur le rapport. Les propriétés des paramètres peuvent être définies au moment de la conception et gérées au moment de l'exécution.

Conception de rapports et intégration à Visual Studio

Mode de traitement local :

Créer des fichiers de définition de rapport client (.rdlc) dans Visual Studio. L'ajout d'un modèle de rapport à un projet crée un fichier de définition de rapport, ajoute le fichier à votre projet, puis ouvre un concepteur de rapports intégré dans l'espace de travail de Visual Studio. Il est également possible d'ajouter le modèle d'Assistant Rapport à votre projet qui vous guide tout au long de la création du rapport.

Les Assistants Source de données Visual Studio peuvent être utilisés pour fournir des données dans votre application pour une utilisation ultérieure dans le rapport.

Le Concepteur de rapports de Visual Studio ne comprend pas d'onglet Aperçu. Pour afficher un aperçu de votre rapport, exécutez l'application et affichez l'aperçu du rapport qui y est incorporé.

Le Concepteur de rapports de Visual Studio s'intègre à la fenêtre Données du rapport. Lorsqu'un utilisateur fait glisser un champ de la fenêtre Données du rapport sur le rapport, le Concepteur de rapports copie des métadonnées sur la source de données dans le fichier de définition de rapport. Ces métadonnées sont utilisées par le contrôle ReportViewer pour générer automatiquement du code de liaison de données.

Mode de traitement à distance :

Identique à SQL Server Reporting Services.

Créer des définitions de rapport dans Visual Studio au moyen de Business Intelligence Development Studio. Business Intelligence Development Studio ajoute des modèles de projet spécifiques aux composants SQL Server. Pour créer des rapports, effectuez un choix parmi les modèles Projet Report Server ou Assistant Projet Report Server.

Les onglets Données, Mise en page et Aperçu permettent de définir des données, de créer une mise en page de rapport et d'afficher l'aperçu du rapport dans le même espace de travail.

Déploiement et distribution

Des contrôles et des fichiers .rdlc redistribuables peuvent être inclus dans votre application. En mode de traitement local comme en mode de traitement à distance, vous pouvez également transmettre une définition de rapport sous la forme d'un flux.

ReportViewer héberge le rapport dans un formulaire Windows Forms ou une page Web d'une application que vous créez et déployez.

La barre d'outils ReportViewer offre des fonctions de navigation entre les pages, d'impression, de recherche, ainsi que des formats d'exportation prenant en charge les opérations au moment de l'exécution.

Déployer un serveur de rapports SQL Server Reporting Services. Les définitions de rapport sont stockées dans une base de données de serveur de rapports, traitées sur un serveur et visualisées dans une application basée sur un navigateur ou une application personnalisée.

Une barre d'outils de rapport offre des fonctions de navigation entre les pages, d'impression, de recherche, ainsi que des formats d'exportation.

Des outils de visualisation et des composants WebPart SharePoint peuvent être utilisés pour visualiser les rapports.

Les fonctions de distribution incluent une remise des rapports basée sur des abonnements à des adresses de messagerie électronique et dans des partages de fichiers.

Accès Internet

Un contrôle ReportViewer hébergé dans une page Web est recommandé si vous souhaitez créer des rapports disponibles dans une application Web sur Internet.

Vous pouvez inclure le contrôle et des rapports dans une application Web existante, en utilisant l'infrastructure de sécurité prise en charge par votre application.

Vous pouvez configurer un serveur de rapports Reporting Services pour un accès Internet. Selon les besoins de votre application et des utilisateurs, vous devrez éventuellement créer une extension d'authentification personnalisée, modifier les fichiers de configuration et configurer le serveur pour SSL (Secure Sockets Layer). Pour plus d'informations, consultez Planification d'un déploiement extranet ou Internet.

Fonctionnalités de niveau entreprise

Les contrôles ReportViewer peuvent héberger des rapports contenus dans un déploiement évolutif de serveur de rapports (le déploiement d'un serveur de rapports est transparent pour le contrôle).

Vous pouvez utiliser le contrôle dans des applications personnalisées qui s'exécutent dans n'importe quel modèle de déploiement à haute disponibilité.

Reporting Services prend en charge ces fonctionnalités d'entreprise :

  • Déploiement évolutif.

  • Traitement de rapport programmé et à la demande.

  • Des rapports ad hoc peuvent être créés à la demande pour une utilisation ponctuelle ou enregistrés sur un serveur.

  • Abonnements pilotés par les données qui dirigent une sortie de rapport personnalisée vers une liste dynamique de destinataires.

  • Outils de gestion et de configuration.

Personnalisation

La personnalisation est prise en charge via l'API.

Vous pouvez également définir des propriétés sur des rapports et la barre d'outils ReportViewer pour déterminer la visibilité et la disponibilité des fonctions.

Des extensions peuvent être créées pour ajouter la prise en charge du traitement des données, de la remise de rapports, de l'authentification personnalisée et du rendu des rapports.

Vous pouvez définir des propriétés sur le rapport, la barre d'outils Rapport et le serveur de rapports.

Une personnalisation supplémentaire est prise en charge via une API étendue.

Exemples et procédures pas à pas

Recherchez Exemples et procédures pas à pas dans Visual Studio dans la documentation du produit Visual Studio ou sur MSDN.

Pour plus d'informations sur les exemples et les procédures pas à pas dans Reporting Services, consultez Comment faire pour rechercher des didacticiels.

Documentation

Recherchez Contrôles ReportViewer (Visual Studio) dans la documentation du produit Visual Studio ou sur MSDN.

Reporting Services est présenté dans la documentation en ligne de SQL Server.