ReportingService2010.SetDataSourceContents 메서드

정의

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)

매개 변수

DataSource
String

파일 이름과 .rsds 파일 이름 확장명을 포함하는 데이터 원본의 정규화된 URL입니다.

Definition
DataSourceDefinition

데이터 원본에 대한 정의를 포함하는 DataSourceDefinition 개체입니다.

특성

예제

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  

설명

다음 표에서는 이 작업에 대한 헤더 및 사용 권한 정보를 보여 줍니다.

SOAP 헤더 사용 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
기본 모드 필수 권한 UpdateContent
SharePoint 모드 필수 권한 <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems>

데이터 원본 정의의 일부인 속성을 제거하려면 해당 속성 null 의 값을 (Visual Basic의 경우)로Nothing 설정합니다.

데이터 원본 정의의 속성을 또는 로 설정하는 CredentialRetrieval 경우 또는 PromptPassword에 대한 UserName 값을 제공하지 Integrated 않습니다. 이렇게 하면 오류 코드 rsInvalidElementCombination가 인 SOAP 예외가 발생합니다.

데이터 원본 정의의 속성을 또는 StoreIntegrated 설정 CredentialRetrieval 하면 속성에 제공하는 Prompt 모든 값이 저장되지 않습니다.

구독을 사용하면 구독이 무인으로 실행되도록 보고서 서버 데이터베이스에 자격 증명을 저장해야 할 수 있습니다.

ConnectString 데이터 원본 정의 null 의 속성을 (Visual Basic의 경우)로Nothing 설정하면 오류 코드rsInvalidXML가 인 SOAP 예외가 발생합니다. 에 값을 ConnectString제공하지 않으려면 해당 값을 빈 문자열("")로 설정합니다.

이 메서드는 .odc 파일 이름 확장명이 있는 Office 데이터 연결 또는 파일 변경을 지원하지 않습니다. 이렇게 하면 오류가 발생합니다 rsNotSupported . .rsds 또는 .odc 이외의 확장이 있는 데이터 원본의 rsWrongType 경우 오류가 반환됩니다.

적용 대상