ReportingService2006.SetDataSourceContents(String, DataSourceDefinition) ReportingService2006.SetDataSourceContents(String, DataSourceDefinition) ReportingService2006.SetDataSourceContents(String, DataSourceDefinition) Method

定义

设置与关联的连接属性DataSource Sets the connection properties associated with a DataSource.

public:
 void SetDataSourceContents(System::String ^ DataSource, ReportService2006::DataSourceDefinition ^ Definition);
public void SetDataSourceContents (string DataSource, ReportService2006.DataSourceDefinition Definition);
Public Sub SetDataSourceContents (DataSource As String, Definition As DataSourceDefinition)

参数

DataSource
String String String

数据源的完全限定 URL,其中包括文件名和 .rsds 文件扩展名。 The fully qualified URL for the data source including the file name and .rsds file name extension.

Definition
DataSourceDefinition DataSourceDefinition DataSourceDefinition

一个DataSourceDefinition对象,其中包含数据源的定义。 A DataSourceDefinition object that contains the definition for the data source.

示例

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  

注解

下表显示了有关此操作的标头和权限信息。The table below shows header and permissions information on this operation.

SOAP 标头SOAP Headers (In) TrustedUserHeaderValue(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue(Out) ServerInfoHeaderValue
所需的权限Required Permissions EditListItems

若要删除数据源定义一部分的属性,将为这些属性的值null(Nothing在 Visual Basic 中)。To remove properties that are part of the data source definition, set the values of those properties to null (Nothing in Visual Basic).

如果您设置CredentialRetrieval数据源定义的属性IntegratedPrompt,不提供的值UserNamePasswordIf you set the CredentialRetrieval property of the data source definition to Integrated or Prompt, do not supply values for UserName or Password. 执行 SOAP 异常,错误代码的操作会导致rsInvalidElementCombinationDoing so causes a SOAP exception with the error code rsInvalidElementCombination.

如果您设置CredentialRetrieval数据源定义的属性IntegratedStore,为提供任何值Prompt属性不会保存。If you set the CredentialRetrieval property of the data source definition to Integrated or Store, any value that you supply for the Prompt property is not saved.

对于订阅,可能需要在报表服务器数据库中存储凭据,以便订阅可以运行无人参与。With subscriptions, you may have to store credentials in the report server database so that the subscriptions can run unattended.

设置ConnectString数据源定义的属性null(Nothing在 Visual Basic 中),错误代码会导致 SOAP 异常rsInvalidXMLSetting the ConnectString property of the data source definition to null (Nothing in Visual Basic) causes a SOAP exception with the error code rsInvalidXML. 如果您不想要提供的值ConnectString,将其值设置为空字符串 ("")。If you do not want to supply a value for ConnectString, set its value to an empty string ("").

此方法不支持更改 Office 数据连接或.odc 文件扩展名的文件。This method does not support changing Office Data Connections or files that have the .odc file name extension. 执行操作会导致rsNotSupported错误。Doing so causes an rsNotSupported error. 数据源使用.rsds 或.odc,以外的扩展rsWrongType返回错误。For data sources with extensions other than .rsds or .odc, an rsWrongType error is returned.

适用于