ReportingService2005.SetDataSourceContents 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
设置数据源的内容。
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)
参数
- DataSource
- String
数据源的完整路径名。
- Definition
- DataSourceDefinition
一个包含数据源的定义的 DataSourceDefinition 对象。
示例
若要编译以下代码示例,必须引用 Reporting Services WSDL 并导入某些命名空间。 有关详细信息,请参阅 编译和运行代码示例。 以下示例代码使用 SetDataSourceContents 方法为名为“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);
}
}
}
注解
下表显示了有关此操作的标头和权限信息。
SOAP 标头 | (In) BatchHeaderValue (Out) ServerInfoHeaderValue |
所需的权限 | UpdateContent |
若要删除属于数据源定义的属性,请在 Visual Basic) 中将这些属性的值设置为 null
(Nothing
。
如果将数据源定义的 属性设置为 CredentialRetrievalIntegrated
或 Prompt
,请不要为 UserName 或 Password提供值。 这样做会导致 SOAP 异常, rsInvalidElementCombination
错误代码为 。
如果将数据源定义的 属性设置为 CredentialRetrievalIntegrated
或 Store
,则不会保存为 Prompt 属性提供的任何值。
对于订阅,可能需要将凭据存储在报表服务器数据库中,以便订阅可以无人参与地运行。
将 ConnectionString
数据源定义的 属性设置为 null
在 Visual Basic) 中 (Nothing
会导致 SOAP 异常,错误代码 rsInvalidXML
为 。 如果不想为 ConnectionString
提供值,请将其值设置为空字符串 (“”) 。