ReportingService2010.SetDataSourceContents Método

Definición

Establece las propiedades de conexión asociadas a un DataSource.

public:
 void SetDataSourceContents(System::String ^ DataSource, ReportService2010::DataSourceDefinition ^ Definition);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataSourceContents", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
public void SetDataSourceContents(string DataSource, ReportService2010.DataSourceDefinition Definition);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataSourceContents", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
member this.SetDataSourceContents : string * ReportService2010.DataSourceDefinition -> unit
Public Sub SetDataSourceContents (DataSource As String, Definition As DataSourceDefinition)

Parámetros

DataSource
String

La URL totalmente calificada para la fuente de datos, incluyendo el nombre del archivo y la extensión del nombre de archivo .rsds.

Definition
DataSourceDefinition

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

Atributos

Ejemplos

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

Comentarios

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

Uso de la cabecera SOAP (En) TrustedUserHeaderValue

(Fuera) ServerInfoHeaderValue
Permisos requeridos en modo nativo UpdateContent
Permisos requeridos en el modo SharePoint <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems>

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 provoca 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 que tengas que almacenar las credenciales en la base de datos del servidor de informes para que las suscripciones puedan ejecutarse sin supervisión.

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

Este método no permite cambiar las Conexiones de Datos de Office ni archivos que tengan la extensión de nombre de archivo .odc. Hacerlo provoca un rsNotSupported error. Para fuentes de datos con extensiones distintas de .rsds o .odc, se devuelve un rsWrongType error.

Se aplica a