ReportingService2010.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 connection properties associated with a DataSource.
public:
void SetDataSourceContents(System::String ^ DataSource, ReportService2010::DataSourceDefinition ^ Definition);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataSourceContents", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
public void SetDataSourceContents (string DataSource, ReportService2010.DataSourceDefinition Definition);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataSourceContents", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
member this.SetDataSourceContents : string * ReportService2010.DataSourceDefinition -> unit
Public Sub SetDataSourceContents (DataSource As String, Definition As DataSourceDefinition)
Parameters
- DataSource
- String
The fully qualified URL for the data source including the file name and .rsds file name extension.
- Definition
- DataSourceDefinition
A DataSourceDefinition object that contains the definition for the data source.
- Attributes
Examples
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
class Sample
{
static void Main(string[] args)
{
ReportingService2010 rs = new ReportingService2010();
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" +
"ReportService2010.asmx";
rs.Credentials =
System.Net.CredentialCache.DefaultCredentials;
DataSourceDefinition definition =
new DataSourceDefinition();
definition.CredentialRetrieval =
CredentialRetrievalEnum.Integrated;
definition.ConnectString =
"data source=(local);initial catalog=AdventureWorks";
definition.Enabled = true;
definition.EnabledSpecified = true;
definition.Extension = "SQL";
definition.ImpersonateUser = false;
definition.ImpersonateUserSpecified = true;
definition.Prompt = null;
definition.WindowsCredentials = true;
try
{
rs.SetDataSourceContents("http://<Server Name>" +
"/Docs/Documents/Data Sources/AdventureWorks.rsds",
definition);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.OuterXml);
}
}
}
Imports System
Imports System.IO
Imports System.Text
Imports System.Web.Services
Imports System.Web.Services.Protocols
Class Sample
Public Shared Sub Main()
Dim rs As New ReportingService2010()
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" + _
"ReportService2010.asmx"
rs.Credentials = _
System.Net.CredentialCache.DefaultCredentials
Dim definition As New DataSourceDefinition()
definition.CredentialRetrieval = _
CredentialRetrievalEnum.Integrated
definition.ConnectString = _
"data source=(local);initial catalog=AdventureWorks"
definition.Enabled = True
definition.EnabledSpecified = True
definition.Extension = "SQL"
definition.ImpersonateUser = False
definition.ImpersonateUserSpecified = True
definition.Prompt = Nothing
definition.WindowsCredentials = False
Try
rs.SetDataSourceContents("http://<Server Name>" + _
"/Docs/Documents/Data Sources/AdventureWorks.rsds", _
definition)
Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try
End Sub
End Class
Remarks
The table below shows header and permissions information on this operation.
SOAP Header Usage | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Native Mode Required Permissions | UpdateContent |
SharePoint Mode Required Permissions | <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> |
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 causes 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 that you supply for the Prompt property is not saved.
With subscriptions, you may have to store credentials in the report server database so that the subscriptions can run unattended.
Setting the ConnectString property of the data source definition to null
(Nothing
in Visual Basic) causes a SOAP exception with the error code rsInvalidXML
. If you do not want to supply a value for ConnectString, set its value to an empty string ("").
This method does not support changing Office Data Connections or files that have the .odc file name extension. Doing so causes an rsNotSupported
error. For data sources with extensions other than .rsds or .odc, an rsWrongType
error is returned.