Web Service Reporting Services
Testé avec Microsoft SQL Server 2008 R2 with advanced Services
Créer une référence au service web :
Dans Visual Studio, ajouter une référence de service web avec l'adresse suivante :
http://<NomDuServeur>/ReportServer_SQLEXPRESS/ReportService2010.asmx .Le service Web est nommé ReportingService2010.
Déterminer l'adresse du serveur :
Utiliser le Gestionnaire de configuration de reporting services, par défaut les adresses sont les suivantes :
Url du service Web : http://localhost/ReportServer_SQLEXPRESS
Gestionnaire de rapports : http://localhost/Reports_SQLEXPRESS
Pour se connecter au service web :
ReportingService2010 reportingService = new ReportingService2010();
reportingService.Credentials = CredentialCache.DefaultCredentials;
Afficher les dossiers et rapports présents à la racine du rapport de seveur de Reporting :
try
{
catalogItems = reportingService.ListChildren("/", false);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.OuterXml);
}
Déterminer le type d'un fichier (rapport, répertoire,etc.) :
if (reportingService.GetItemType(adresseRepertoire) == "Report")
{
}
Ouvrir l'éditeur de rapport Report Builder à partir d'un exécutable :
if (reportingService.GetItemType(adresseRapport) == "Report")
{
//L'adresse du serveur de rapport a ici été sauvegardée
// dans le fichier de configuration
//L'adresse par défaut pour SQL Server Express est http://localhost/Reports_SQLEXPRESS
Uri adresseServeurRapports = new Uri(((ClientSettingsSection)ConfigurationManager
.GetSection("applicationSettings/ObtenirCours.Properties.Settings"))
.Settings.Get("ServeurRapport").Value.ValueXml.FirstChild.Value);
if (adresseServeurRapports.Scheme == "http")
{
System.Diagnostics.Process.Start("Explorer", adresseServeurRapports.ToString()
+ "/reportbuilder/reportbuilder_3_0_0_0.application?"
+ adresseRapport);
}
}
Ajouter un répertoire sur le serveur de rapport :
//Ajouter un répertoire
if (reportingService.GetItemType(treeViewRapports.SelectedNode.Name) == "Folder")
{
reportingService.CreateFolder("Nouveau Dossier","AdresseDuRepertoireParent", null);
}
Supprimer un fichier (répertoire, rapport, etc.) du serveur de rapport :
reportingService.DeleteItem(adresseDuFichierASupprimer);
Renommer un fichier (répertoire, rapport, etc.) du serveur de rapport :
//Télécharger le nom et l'adresse du répertoire à renommer
Property[] proprietes = new Property[2];
proprietes[0] = new Property();
proprietes[1] = new Property();
proprietes[0].Name = "Name";
proprietes[1].Name = "Path";
Property[] proprietesNoeudARenommer = reportingService.GetProperties(adresseDuRepertoire, proprietes);
//Déterminer l'adresse du parent actuel du fichier à renommer
string adresseParent = proprietesNoeudARenommer[1].Value.Remove(
proprietesNoeudARenommer[1].Value.Length - proprietesNoeudARenommer[0].Value.Length);
//Renommer le répertoire
reportingService.MoveItem(proprietesNoeudARenommer[1].Value, adresseParent + NouveauNom);