ReportingService2005.SetDataSourceContents Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Sets the contents of a data source.
public:
void SetDataSourceContents(System::String ^ DataSource, ReportService2005::DataSourceDefinition ^ Definition);
public void SetDataSourceContents (string DataSource, ReportService2005.DataSourceDefinition Definition);
member this.SetDataSourceContents : string * ReportService2005.DataSourceDefinition -> unit
Public Sub SetDataSourceContents (DataSource As String, Definition As DataSourceDefinition)
Parameters
- DataSource
- String
The full path name of the data source.
- Definition
- DataSourceDefinition
A DataSourceDefinition object that contains the definition for the data source.
Examples
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":
Imports System
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2005()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim definition As 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 = Nothing
definition.WindowsCredentials = False
Try
rs.SetDataSourceContents("/SampleReports/AdventureWorks", definition)
Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try
End Sub 'Main
End Class 'Sample
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;
try
{
rs.SetDataSourceContents( "/SampleReports/AdventureWorks", definition );
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.OuterXml);
}
}
}
Remarks
The table below shows header and permissions information on this operation.
SOAP Headers | (In) BatchHeaderValue (Out) ServerInfoHeaderValue |
Required Permissions | UpdateContent |
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 ("").