ReportingService2005.SetDataSourceContents Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 rsInvalidElementCombination
de 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 rsInvalidXML
de erro . Se você não quiser fornecer um valor para ConnectionString
, defina seu valor como uma cadeia de caracteres vazia ("").