Compartilhar via


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 de caminho completo da fonte de dados.

Definition
DataSourceDefinition

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

Exemplos

Para compilar o exemplo de código a seguir, você deve referenciar o WSDL Reporting Services e importar determinados namespaces. Para obter mais informações, consulte Compilando e executando exemplos de código. O código de exemplo a seguir usa o SetDataSourceContents método para definir a definição de fonte de dados para 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 a seguir mostra o cabeçalho e as informações de permissão sobre esta operação.

Cabeçalhos SOAP (In) BatchHeaderValue

(Out) ServerInfoHeaderValue
Permissões necessárias UpdateContent

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

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

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

Definir a ConnectionString propriedade da definição da fonte de dados como 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 como uma cadeia de caracteres vazia ("").

Aplica-se a