ReportingService2005.SetDataSourceContents Method (String, DataSourceDefinition)


Sets the contents of a data source.

Namespace:   ReportService2005
Assembly:  ReportService2005 (in ReportService2005.dll)

public void SetDataSourceContents(
	string DataSource,
	DataSourceDefinition Definition


Type: System.String

The full path name of the data source.

Type: ReportService2005.DataSourceDefinition

A DataSourceDefinition object that contains the definition for the data source.

The table below shows header and permissions information on this operation.

SOAP Headers

(In) BatchHeaderValue

(Out) ServerInfoHeaderValue

Required Permissions


To remove properties that are part of the data source definition, set the values of those properties to null (Nothing in Visual Basic).

If you set the CredentialRetrieval property of the data source definition to Integrated or Prompt, do not supply values for UserName or Password. Doing so results in a SOAP exception with the error code rsInvalidElementCombination.

If you set the CredentialRetrieval property of the data source definition to Integrated or Store, any value you supply for the Prompt property is not saved.

With subscriptions, it may be necessary to store credentials in the report server database so that the subscriptions can run unattended.

Setting the ConnectionString property of the data source definition to null (Nothing in Visual Basic) results in a SOAP exception with the error code rsInvalidXML. If you do not want to supply a value for ConnectionString, set its value to an empty string ("").

To compile the following code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following example code uses the SetDataSourceContents method to set the data source definition for an existing data source named "AdventureWorks":

using System;
using System.Web.Services.Protocols;

class Sample
   public static void Main()
      ReportingService2005 rs = new ReportingService2005();
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

      DataSourceDefinition definition = new DataSourceDefinition();
      definition.CredentialRetrieval = CredentialRetrievalEnum.Integrated;
      definition.ConnectString = "data source=(local);initial catalog=AdventureWorks2000";
      definition.Enabled = true;
      definition.EnabledSpecified = true;
      definition.Extension = "SQL";
      definition.ImpersonateUser = false;
      definition.ImpersonateUserSpecified = true;
      definition.Prompt = null;
      definition.WindowsCredentials = false;

         rs.SetDataSourceContents( "/SampleReports/AdventureWorks", definition );

      catch (SoapException e)
Return to top