Question

Est-il possible de changer la chaîne de connexion d'un rapport de services de rapports SQL publié? Je peux voir le champ binaire appelé DataSource dans la base de données ReportServer, mais comme il est stocké en tant que binaire, je ne pense pas qu'il puisse être facilement mis à jour.

Dois-je republier le rapport avec la source de données correcte? J'espère que je ne souhaite pas avoir à installer VS2003.

EDIT: le client exécute SQL Server 2000 Reporting Services avec tous les service packs installés.

Était-ce utile?

La solution

SQL Reporting Services 2000 dispose d'un [service Web] ( http://msdn.microsoft.com/en-us/library/aa274396 (SQL.80) .aspx) que vous pouvez utiliser pour modifier la source de données. Compte tenu de cela, les éléments suivants permettent de remplacer une source de données par une source de données partagée. C'était [adapté de MSDN] ( http: // msdn.microsoft.com/en-us/library/aa225896(SQL.80).aspx) .

// Create our reporting services class
ReportingService theRS = new ReportingService();
theRS.Credentials = System.Net.CredentialCache.DefaultCredentials;

// We need to setup a data source reference to an existing shared data source
DataSourceReference theDSRef = new DataSourceReference();
theDSRef.Reference = "/Path/To/ExistingSharedDataSource";
DataSource[] theDSArray = new DataSource[1];
DataSource theDS = new DataSource();
theDS.Item = (DataSourceReference)theDSRef;
theDS.Name = "NameOfSharedDataSource";
theDSArray[0] = theDS;

try
{
    // Attempt to change the data source of the report
    theRS.SetReportDataSources("/Path/To/ReportName", theDSArray);
    Console.Out.WriteLine("We have changed the data source");
}
catch (System.Web.Services.Protocols.SoapException e)
{
    Console.Out.WriteLine(e.Message);
    Console.Out.WriteLine(e.Detail.InnerXml.ToString());
}

Dans cet exemple, la classe ReportingService provient de la classe Proxy que j'ai générée pour communiquer avec le service Web, qui est décrite [ici] ( http://msdn.microsoft.com/en-us/library/aa256607 (SQL.80) .aspx) .

J'espère que cela aide certains. Faites-moi savoir si vous cherchez quelque chose de différent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top