ReportingService2006.SetDataSourceContents Método

Definição

Define as propriedades de conexão associadas a um DataSource.

public:
 void SetDataSourceContents(System::String ^ DataSource, ReportService2006::DataSourceDefinition ^ Definition);
public void SetDataSourceContents (string DataSource, ReportService2006.DataSourceDefinition Definition);
member this.SetDataSourceContents : string * ReportService2006.DataSourceDefinition -> unit
Public Sub SetDataSourceContents (DataSource As String, Definition As DataSourceDefinition)

Parâmetros

DataSource
String

A URL totalmente qualificada da fonte de dados, incluindo o nome do arquivo e a extensão de nome de arquivo .rsds.

Definition
DataSourceDefinition

Um objeto DataSourceDefinition que contém a definição da fonte de dados.

Exemplos

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  

Comentários

A tabela a seguir mostra o cabeçalho e as informações de permissão sobre esta operação.

Cabeçalhos SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Permissões necessárias EditListItems

Para remover as propriedades que fazem parte da definição da fonte de dados, defina os valores dessas propriedades como null ( Nothing em Visual Basic).

Se você definir a CredentialRetrieval propriedade da definição da fonte de dados como Integrated ou Prompt , não forneça valores para UserName ou Password . Isso causa uma exceção SOAP com o código de erro rsInvalidElementCombination .

Se você definir a CredentialRetrieval propriedade da definição da fonte de dados como Integrated ou Store , qualquer valor que você fornecer para a Prompt propriedade não será salvo.

Com as assinaturas, talvez seja necessário armazenar credenciais no banco de dados do servidor de relatório para que as assinaturas possam ser executadas de forma autônoma.

Definir a ConnectString propriedade da definição da fonte de dados como null ( Nothing em Visual Basic) causa uma exceção SOAP com o código de erro rsInvalidXML . Se você não quiser fornecer um valor para ConnectString , defina seu valor como uma cadeia de caracteres vazia ("").

Este método não dá suporte à alteração de conexões de dados do Office ou arquivos que têm a extensão de nome de arquivo. odc. Isso causará um rsNotSupported erro. Para fontes de dados com extensões diferentes de. rsds ou. odc, um rsWrongType erro é retornado.

Aplica-se a