다음을 통해 공유


SetDataSourceContents 메서드

DataSource 과 연결된 연결 속성을 설정합니다.

네임스페이스:  ReportService2006
어셈블리:  ReportService2006(ReportService2006.dll)

구문

‘선언
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/SetDataSourceContents", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
Public Sub SetDataSourceContents ( _
    DataSource As String, _
    Definition As DataSourceDefinition _
)
‘사용 방법
Dim instance As ReportingService2006
Dim DataSource As String
Dim Definition As DataSourceDefinition

instance.SetDataSourceContents(DataSource, _
    Definition)
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/SetDataSourceContents", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
public void SetDataSourceContents(
    string DataSource,
    DataSourceDefinition Definition
)
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/SetDataSourceContents", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
public:
void SetDataSourceContents(
    String^ DataSource, 
    DataSourceDefinition^ Definition
)
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/SetDataSourceContents", RequestNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
member SetDataSourceContents : 
        DataSource:string * 
        Definition:DataSourceDefinition -> unit 
public function SetDataSourceContents(
    DataSource : String, 
    Definition : DataSourceDefinition
)

매개 변수

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

주의

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

SOAP Headers

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

Required Permissions

EditListItems()()()()

To remove properties that are part of the data source definition, set the values of those properties to null Nothing nullptr unit null 참조(Visual Basic에서는 Nothing) (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 nullptr unit null 참조(Visual Basic에서는 Nothing) (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.

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)
    {
        ReportingService2006 rs = new ReportingService2006();
        rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" +
            "ReportService2006.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 ReportingService2006()
        rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" + _
            "ReportService2006.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