Lenguaje

ReportingService2005.SetDataSourceContents Método

Definición

Establece el contenido de una fuente de datos.

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

El nombre completo de la ruta de la fuente de datos.

Definition
DataSourceDefinition

Un DataSourceDefinition objeto que contiene la definición de la fuente de datos.

Ejemplos

Para compilar el siguiente ejemplo de código, debes consultar el WSDL de Reporting Services e importar ciertos espacios de nombres. Para más información, consulte Ejemplos de Compilación y Ejecución de Código. El siguiente código de ejemplo utiliza el SetDataSourceContents método para establecer la definición de la fuente de datos de una fuente de datos existente llamada "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);  
      }  
   }  
}  

Comentarios

La siguiente tabla muestra la información sobre cabeceras y permisos sobre esta operación.

Encabezados SOAP (En) BatchHeaderValue

(Fuera) ServerInfoHeaderValue
Permisos necesarios UpdateContent

Para eliminar propiedades que forman parte de la definición de la fuente de datos, fije los valores de esas propiedades en null (Nothing en Visual Basic).

Si configuras la CredentialRetrieval propiedad de la definición de la fuente de datos en Integrated o Prompt, no proporciones valores para UserName o Password. Hacerlo resulta en una excepción SOAP con el código rsInvalidElementCombinationde error .

Si configuras la CredentialRetrieval propiedad de la definición de la fuente de datos en Integrated o Store, cualquier valor que proporciones para la Prompt propiedad no se guarda.

Con las suscripciones, puede ser necesario almacenar las credenciales en la base de datos del servidor de informes para que las suscripciones puedan ejecutarse sin supervisión.

Establecer la ConnectionString propiedad de la definición de la fuente de datos en null (Nothing en Visual Basic) da lugar a una excepción SOAP con el código rsInvalidXMLde error . Si no quieres proporcionar un valor para ConnectionString, fija su valor en una cadena vacía ("").

Se aplica a