ReportingService2010.SetDataSourceContents(String, DataSourceDefinition) Method

Definition

设置与 DataSource 关联的连接属性。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

数据源的完全限定 URL,其中包括文件名和 .rsds 文件扩展名。The fully qualified URL for the data source including the file name and .rsds file name extension.

Definition
DataSourceDefinition

一个包含数据源的定义的 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 标头用法SOAP Header Usage (In) TrustedUserHeaderValue(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue(Out) ServerInfoHeaderValue
纯模式所需的权限Native Mode Required Permissions UpdateContent
SharePoint 模式所需的权限SharePoint Mode Required Permissions EditListItems

若要删除属于数据源定义的属性,请将这些属性的值设置为 null Nothing Visual Basic) 中 (。To remove properties that are part of the data source definition, set the values of those properties to null (Nothing in Visual Basic).

如果将 CredentialRetrieval 数据源定义的属性设置为 Integrated 或,则 Prompt 不要为或提供值 UserName PasswordIf you set the CredentialRetrieval property of the data source definition to Integrated or Prompt, do not supply values for UserName or Password. 这样做会导致带有错误代码的 SOAP 异常 rsInvalidElementCombinationDoing so causes a SOAP exception with the error code rsInvalidElementCombination.

如果将 CredentialRetrieval 数据源定义的属性设置为 Integrated 或,则 Store 不会保存为属性提供的任何值 PromptIf 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.

对于订阅,你可能必须将凭据存储在 Report Server 数据库中,以便可以在无人参与的情况下运行订阅。With subscriptions, you may have to store credentials in the report server database so that the subscriptions can run unattended.

ConnectString若要将数据源定义的属性设置 nullNothing Visual Basic) 中 (,将导致 SOAP 异常,错误代码为 rsInvalidXMLSetting the ConnectString property of the data source definition to null (Nothing in Visual Basic) causes a SOAP exception with the error code rsInvalidXML. 如果不想为提供值 ConnectString ,请将其值设置为空字符串 ( "" ) 。If you do not want to supply a value for ConnectString, set its value to an empty string ("").

此方法不支持更改 Office 数据连接或具有 .odc 文件扩展名的文件。This method does not support changing Office Data Connections or files that have the .odc file name extension. 这样做会导致 rsNotSupported 错误。Doing so causes an rsNotSupported error. 对于扩展名为 .rsds 或 .odc 之外的数据源, rsWrongType 将返回错误。For data sources with extensions other than .rsds or .odc, an rsWrongType error is returned.

Applies to