Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez accéder à toutes les fonctionnalités du serveur de rapports via l’API SOAP Reporting Services. L’API SOAP est un service web et, par conséquent, est facilement accessible pour fournir des fonctionnalités de création de rapports d’entreprise à vos applications métier personnalisées. Vous pouvez accéder au service Web dans une application Windows simplement en écrivant du code qui effectue des appels au service. À l’aide de Microsoft .NET Framework, vous pouvez générer une classe proxy qui expose les propriétés et les méthodes du service Web et vous permet d’utiliser une infrastructure et des outils familiers pour créer des applications métier basées sur la technologie Reporting Services.
Intégration des fonctionnalités de gestion des rapports à l’aide de Windows Forms
Contrairement à l’accès URL, l’API SOAP expose l’ensemble complet de fonctions de gestion disponibles via le serveur de rapports. Cela signifie que toute la fonctionnalité d’administration du Gestionnaire de rapports est disponible pour les développeurs via SOAP. Par conséquent, vous pouvez développer un outil complet de gestion et d’administration à l’aide de Windows Forms. Par exemple, dans votre application Windows, vous pouvez autoriser vos utilisateurs à récupérer le contenu de l’espace de noms du serveur de rapports. Pour ce faire, vous pouvez utiliser la méthode de service ListChildren Web pour répertorier tous les éléments de la base de données du serveur de rapports, puis utiliser un contrôle Listview, Treeview ou Combobox pour afficher ces éléments à vos utilisateurs. Le code de service web suivant peut être utilisé pour récupérer la liste actuelle des rapports disponibles dans le dossier Mes rapports d’un utilisateur lorsqu’un utilisateur clique sur un bouton dans un formulaire :
' Button click event that retrieves a list of reports from
' the My Reports folder and displays them in a combo box
Private Sub listReportsButton_Click(sender As Object, e As System.EventArgs)
' Create a new Web service object and set credentials
' to Windows Authentication
Dim rs As New ReportingService2010()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
' Return the list of items in My Reports
Dim items As CatalogItem() = rs.ListChildren("/Adventureworks 2008 Sample Reports", False)
Dim ci As CatalogItem
For Each ci In items
' If the item is a report, add it to
' a combo box
If ci.TypeName = "Report" Then
catalogComboBox.Items.Add(ci.Name)
End If
Next ci
End Sub 'listReportsButton_Click
// Button click event that retrieves a list of reports from
// the My Reports folder and displays them in a combo box
private void listReportsButton_Click(object sender, System.EventArgs e)
{
// Create a new Web service object and set credentials
// to Windows Authentication
ReportingService2010 rs = new ReportingService2010();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Return the list of items in My Reports
CatalogItem[] items = rs.ListChildren("/Adventureworks 2008 Sample Reports", false);
foreach (CatalogItem ci in items)
{
// If the item is a report, add it to
// a combo box
if (ci.TypeName == "Report")
catalogComboBox.Items.Add(ci.Name);
}
}
À partir de là, vous pouvez permettre aux utilisateurs de sélectionner le rapport dans la zone de liste déroulante et d’afficher un aperçu du rapport sur le formulaire à l’aide d’un contrôle de navigateur web ou d’un contrôle d’image.
Activation de l’affichage et de la navigation des rapports à l’aide de Windows Forms
Il existe deux méthodes permettant d’intégrer des rapports dans vos applications Windows Forms.
Vous pouvez utiliser l’API SOAP pour afficher des rapports dans l’un des formats de rendu pris en charge à l’aide de la Render méthode. Il existe de légères inconvénients pour permettre l’affichage et la navigation des rapports via SOAP :
Vous ne pouvez pas tirer parti des fonctionnalités intégrées de la barre d’outils de rapport qui est incluse avec la visionneuse HTML via l’accès URL.
Si vous effectuez un rendu au format HTML, vous devez afficher séparément toutes les images ou ressources en tant que flux supplémentaires à l’aide de la RenderStream méthode.
Il existe un léger avantage en matière de performances pour le rendu des rapports à l’aide de l’accès URL à l’aide de l’API SOAP.
Toutefois, la Render méthode de l’API SOAP peut être utilisée pour afficher des rapports et les enregistrer dans différents formats de sortie par programmation. Il s’agit d’un avantage par rapport à l’accès URL, ce qui nécessite une interaction utilisateur. Lorsque vous affichez un rapport à l’aide de la méthode d’API Render SOAP, vous pouvez effectuer un rendu dans l’un des formats de sortie pris en charge.
Vous pouvez également utiliser les contrôles ReportViewer distribuables librement inclus dans Microsoft Visual Studio 2008. Les contrôles ReportViewer facilitent l’incorporation de fonctionnalités Reporting Services dans des applications personnalisées. Les contrôles ReportViewer sont destinés aux développeurs qui souhaitent fournir des rapports prédéfinis et entièrement créés dans le cadre d’un ensemble de fonctionnalités d’application (par exemple, une application de gestion de site web peut inclure des rapports qui montrent l’analyse de flux de clic sur les sites web de l’entreprise). L’incorporation des contrôles dans une application offre une alternative simplifiée à l’inclusion des composants serveur Reporting Services dans votre déploiement d’application. Les contrôles fournissent des fonctionnalités de rapport, mais sans la prise en charge supplémentaire de la création, de la publication ou de la distribution et de la distribution que vous trouvez dans Reporting Services.
Il existe deux versions des contrôles ReportViewer, une pour les applications clientes Windows enrichies et une pour les applications ASP.NET. Les contrôles prennent en charge le traitement local et les modes de traitement à distance. En mode de traitement local, votre application fournit la définition de rapport et les jeux de données et déclenche le traitement du rapport. En mode de traitement à distance, la récupération des données et le traitement des rapports se produisent sur le serveur de rapports et le contrôle est utilisé pour l’affichage et la navigation dans les rapports. Ce modèle vous permet de créer des applications enrichies qui peuvent être mises à l’échelle de bureau vers l’entreprise.
Les contrôles ReportViewer sont documentés dans l’aide en ligne de Visual Studio. Pour plus d’informations, consultez la documentation du produit Visual Studio.
Voir aussi
Création d’applications à l’aide du service web et du .NET Framework
Intégration de Reporting Services dans des applications
Utilisation de l’API SOAP dans une application web