ReportingService2006.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 as propriedades de conexão associadas a um DataSource.
public:
void SetDataSourceContents(System::String ^ DataSource, ReportService2006::DataSourceDefinition ^ Definition);
public void SetDataSourceContents(string DataSource, ReportService2006.DataSourceDefinition Definition);
member this.SetDataSourceContents : string * ReportService2006.DataSourceDefinition -> unit
Public Sub SetDataSourceContents (DataSource As String, Definition As DataSourceDefinition)
Parâmetros
- DataSource
- String
A URL totalmente qualificada para a fonte de dados incluindo o nome do arquivo e a extensão do nome do arquivo .rsds.
- Definition
- DataSourceDefinition
Um DataSourceDefinition objeto que contém a definição da fonte de dados.
Exemplos
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)
{
ReportingService2006 rs = new ReportingService2006();
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" +
"ReportService2006.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 ReportingService2006()
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" + _
"ReportService2006.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
Comentários
A tabela abaixo mostra informações sobre cabeçalhos e permissões sobre esta operação.
| Cabeçalhos SOAP | (Em) TrustedUserHeaderValue (Fora) ServerInfoHeaderValue |
| Permissões necessárias | <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> |
Para remover propriedades que fazem parte da definição da fonte de dados, defina os valores dessas propriedades para 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. Fazer isso causa uma exceção SOAP com o código rsInvalidElementCombinationde erro .
Se você definir a CredentialRetrieval propriedade da definição da fonte de dados como Integrated ou Store, qualquer valor que você forneça para a Prompt propriedade não é salvo.
Com assinaturas, você pode precisar armazenar credenciais no banco de dados do servidor de relatórios para que as assinaturas possam rodar sem supervisão.
Definir a ConnectString propriedade da definição da fonte de dados para null (Nothing no Visual Basic) causa uma exceção SOAP com o código rsInvalidXMLde erro . Se você não quiser fornecer um valor para ConnectString, defina seu valor para uma cadeia vazia ("").
Esse método não suporta a alteração de Conexões de Dados do Office ou arquivos que possuem a extensão do nome de arquivo .odc. Fazer isso gera um rsNotSupported erro. Para fontes de dados com extensões diferentes de .rsds ou .odc, um rsWrongType erro é retornado.