Conversion de fichiers RDL et RDLC
Si vous utilisez les contrôles ReportViewer et Microsoft SQL Server 2005 Reporting Services, vous pouvez réutiliser les rapports que vous créez dans les deux technologies de génération de rapports.
Les rapports que vous créez dans SQL Server 2005 Reporting Services (enregistrés comme fichiers .rdl) ne peuvent être convertis au format de fichier de définition de rapport client (.rdlc) utilisé par les contrôles ReportViewer. Cette opération est qualifiée de conversion RDL-RDLC.
Les rapports que vous créez pour les contrôles ReportViewer (enregistrés sous forme de fichiers .rdlc) peuvent être convertis au format de fichier de définition de rapport (.rdl) employé dans SQL Server Reporting Services. Cette opération est qualifiée de conversion RDLC-RDL.
Comparaison de RDL et RDLC
Les fichiers RDL et RDLC présentent des informations techniques et terminologiques importantes :
RDL et RDLC sont définis par un schéma XML qualifié de langage de définition d'un rapport. Le schéma des deux formats de fichiers est identique. Le schéma est décrit dans la documentation en ligne de SQL Server 2005.
Le contrôle ReportViewer, qui traite les fichiers .rdlc, ignore l'élément <Query> de RDL. Si une définition de rapport contient une requête, le contrôle ne la traite pas.
Remarque |
---|
Un fichier de définition de rapport client (.rdlc) contient uniquement une requête s'il est défini à l'origine comme un fichier .rdl. |
Les termes « dataset » et « source de données » n'ont pas la même signification dans Visual Studio 2008 et SQL Server 2005. Dans Visual Studio, un dataset est une collection de tables de données, et est logiquement équivalent à une requête ou à une commande qui récupère des données. Dans Reporting Services, un dataset inclut les parties suivantes :
Informations de source de données, notamment le type de source de données et la chaîne de connexion. Le type de source de données spécifie une extension de traitement de données qui est déployée sur le serveur de rapports.
Informations qui spécifient comment obtenir des informations d'identification pour la connexion à la source de données.
Informations de requête ou de commande utilisées pour récupérer des données.
Visuellement, un fichier rdlc qui est configuré pour s'exécuter dans un contrôle ReportViewer a l'objet dataset, un objet de source de liaison et un objet de table affichés en bas de la vue concepteur. Le diagramme suivant montre comment ces objets apparaissent dans un formulaire Windows (les mêmes objets de liaison de données apparaissent différemment dans une page Web) :
Si vous sélectionnez un fichier .rdlc en vue d'une utilisation dans un contrôle ReportViewer et si les objets de données n'apparaissent pas dans le projet, vous recherchez probablement un fichier .rdl renommé qui nécessite des étapes de conversion supplémentaires pour devenir un fichier .rdlc entièrement fonctionnel.
Le nom du dataset pourrait créer une confusion ; par défaut, Reporting Services utilise le nom de la source de données du premier dataset qui est créé (par exemple, un dataset pourrait se nommer « Northwind » même s'il récupère des données uniquement à partir de l'une des tables).
Comment convertir des définitions de rapport
Seuls les fichiers RDL SQL Server 2005 peuvent être convertis en fichiers RDLC. Si vous avez des fichiers RDL d'une version précédente, vous devez les mettre à niveau vers SQL Server 2005 avant de les migrer au format de fichier .rdlc. Pour mettre à niveau une définition de rapport, ouvrez-la dans la version SQL Server 2005 du Générateur de rapports.
La conversion d'une définition de rapport d'un type de fichier ou de l'autre nécessite la recréation des informations de source de données et de requête. Veillez à choisir un schéma de source de données correspondant à celui utilisé dans le rapport d'origine ou qui est structurellement identique. Si le schéma est différent, la mise en page du rapport risque de ne pas être valide pour la source de données que vous souhaitez utiliser. Si vous souhaitez utiliser différentes sources de données, il est plus simple de recréer le rapport à partir de zéro plutôt que de le convertir.
Conversion RDL-RDLC
Lors de la conversion d'un fichier .rdl au format .rdlc, vous devez manuellement remplacer les informations de source de données et de requête dans la définition de rapport par des constructions de données fournies dans votre application.
Renommez le fichier .rdl pour utiliser l'extension .rdlc.
Dans Visual Studio 2008, ouvrez la solution ou le projet qui contiendra le rapport.
Créez ou ajoutez le dataset qui définit les données que vous souhaitez utiliser dans votre solution. Pour plus d'informations, consultez Création de sources de données pour un rapport.
Dans le menu Projet, cliquez sur Ajoutez un élément existant, puis sélectionnez le fichier .rdlc que vous avez créé à la première étape.
Dans le projet, ouvrez le formulaire ou la page Web qui contiendra le rapport.
À partir du groupe Données de la boîte à outils, faites glisser un contrôle ReportViewer dans le formulaire ou la page Web.
Dans le panneau des balises actives de Tâches ReportViewer, dans Choisir un rapport, sélectionnez le fichier .rdlc à utiliser avec le contrôle.
Dans le panneau des balises actives de tâches ReportViewer, dans Choisir des sources de données, sélectionnez le dataset à utiliser. L'objet de dataset, l'objet de source de liaison et l'objet de table apparaîtront en bas de l'espace de travail. Pour plus d'informations sur la mise à jour des références de source de données, consultez Mise à jour et reliaison des références de source de données (Concepteur de rapports Visual Studio).
Enregistrez tous les fichiers, puis construisez ou déployez le projet pour vérifier que le rapport contient les données attendues.
Conversion RDLC-RDL
La conversion d'un fichier .rdlc au format .rdl est automatique si les conditions suivantes sont vraies :
La source de données utilisée par le fichier .rdlc utilise la sécurité intégrée.
Les données du rapport sont fournies par le biais d'une table de données. Si le .rdlc utilise des données d'un objet Business, vous devrez manuellement convertir le .rdlc. Un serveur de rapports n'a pas la possibilité de traiter des objets d'entreprise dans un rapport.
La source de données utilisée par le fichier .rdlc se mappe à l'une des extensions de traitement de données installée sur le serveur de rapports (par exemple, si la source de données est une base de données SQL Server, vous pouvez utiliser l'extension de traitement de données SQL Server installée par défaut sur le serveur de rapports).
Il n'est pas nécessaire de modifier les informations de requête et de connexion de source de données.
Pour convertir le fichier .rdlc automatiquement, vous pouvez renommer le fichier .rdlc en .rdl, puis publier ou transférer le fichier .rdl sur un serveur de rapports. Vous pouvez utiliser Business Intelligence Development Studio dans SQL Server 2005 pour publier le fichier .rdl. Pour plus d'informations sur la création de projets de rapport, la publication de rapports et le transfert de fichiers, consultez la documentation en ligne de SQL Server 2005.
Pour convertir manuellement un fichier .rdlc au format .rdl, procédez comme suit :
Déterminez la source de données à utiliser avec le fichier .rdl. Vous pouvez utiliser une base de données relationnelle SQL Server, une base de données multidimensionnelle Analysis Service, une base de données Oracle ou toute autre source de données prise en charge. Le schéma doit être le même que celui que vous avez utilisé pour créer la mise en page de rapport .rdlc d'origine.
Renommez le fichier .rdlc pour utiliser l'extension .rdl.
Dans SQL Server 2005, dans Business Intelligence Development Studio, créez ou ouvrez le projet Report Server qui contiendra le rapport.
Dans le menu Projet, cliquez sur Ajouter un élément existant. Sélectionnez le fichier .rdl que vous avez créé à la première étape et ajoutez-le au projet.
Dans l'Explorateur de solutions, ouvrez le fichier .rdl que vous venez d'ajouter au projet. La définition de rapport s'ouvre en mode de conception. Vous devriez voir les onglets suivants : Données, Disposition et Aperçu. Cliquez sur Données pour ouvrir le rapport en mode Données.
En mode Données, sélectionnez le premier dataset, puis cliquez sur le bouton Modifier (…) tel qu'illustré dans le diagramme suivant :
Dans la boîte de dialogue Dataset, cliquez sur le bouton Modifier (…) et indiquez le nom de source de données.
Mettez à jour les informations de connexion. Vous devez remplacer la chaîne de connexion de manière que le rapport se connecte à la source de données que vous souhaitez employer. Vous devrez éventuellement mettre à jour le type de source de données, le serveur, les options d'authentification et la sélection de la base de données.
Cliquez sur Exécuter (!) pour vérifier que la source de données retourne les données attendues.
Recommencez les étapes précédentes pour modifier tout autre source de données employée dans le rapport.
Affichez l'aperçu du rapport pour vérifier que les données sont fusionnées dans la mise en page du rapport de la manière prévue. Pour afficher l'aperçu du rapport, cliquez sur l'onglet Aperçu.
Voir aussi
Concepts
Déploiement de rapports et de contrôles ReportViewer
Configuration de ReportViewer pour le traitement local