Idioma

ReportingService2005.SetDataSourceContents Método

Definição

Define o conteúdo de uma fonte de dados.

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

Parâmetros

DataSource
String

O nome completo do caminho da fonte de dados.

Definition
DataSourceDefinition

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

Exemplos

Para compilar o exemplo de código a seguir, você deve consultar o WSDL do Reporting Services e importar certos namespaces. Para mais informações, veja Exemplos de Código Compilando e Executando. O seguinte código de exemplo usa o SetDataSourceContents método para definir a fonte de dados de uma fonte de dados existente chamada "AdventureWorks":

Imports System  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2005()  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

      Dim definition As New DataSourceDefinition()  
      definition.CredentialRetrieval = CredentialRetrievalEnum.Integrated  
      definition.ConnectString = "data source=(local);initial catalog=AdventureWorks2000"  
      definition.Enabled = True  
      definition.EnabledSpecified = True  
      definition.Extension = "SQL"  
      definition.ImpersonateUser = False  
      definition.ImpersonateUserSpecified = True  
      definition.Prompt = Nothing  
      definition.WindowsCredentials = False  

      Try  
         rs.SetDataSourceContents("/SampleReports/AdventureWorks", definition)  

      Catch e As SoapException  
         Console.WriteLine(e.Detail.OuterXml)  
      End Try  
   End Sub 'Main  
End Class 'Sample  
using System;  
using System.Web.Services.Protocols;  

class Sample  
{  
   public static void Main()  
   {  
      ReportingService2005 rs = new ReportingService2005();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

      DataSourceDefinition definition = new DataSourceDefinition();  
      definition.CredentialRetrieval = CredentialRetrievalEnum.Integrated;  
      definition.ConnectString = "data source=(local);initial catalog=AdventureWorks2000";  
      definition.Enabled = true;  
      definition.EnabledSpecified = true;  
      definition.Extension = "SQL";  
      definition.ImpersonateUser = false;  
      definition.ImpersonateUserSpecified = true;  
      definition.Prompt = null;  
      definition.WindowsCredentials = false;  

      try  
      {  
         rs.SetDataSourceContents( "/SampleReports/AdventureWorks", definition );  
      }  

      catch (SoapException e)  
      {  
         Console.WriteLine(e.Detail.OuterXml);  
      }  
   }  
}  

Comentários

A tabela abaixo mostra informações sobre cabeçalhos e permissões sobre esta operação.

Cabeçalhos SOAP (Em) BatchHeaderValue

(Fora) ServerInfoHeaderValue
Permissões necessárias UpdateContent

Para remover propriedades que fazem parte da definição da fonte de dados, defina os valores dessas propriedades para null (Nothing no 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. Fazer isso resulta em uma exceção SOAP com o código rsInvalidElementCombinationde erro .

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

Com assinaturas, pode ser necessário armazenar credenciais no banco de dados do servidor de relatórios para que as assinaturas possam rodar sem supervisão.

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

Aplica-se a