ReportingService2005.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 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 ("").