ReportingService2010.SetDataSourceContents Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.