ReportingService2010.SetDataSourceContents 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
設定與 DataSource 相關聯的連接屬性。
public:
void SetDataSourceContents(System::String ^ DataSource, ReportService2010::DataSourceDefinition ^ Definition);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataSourceContents", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
public void SetDataSourceContents (string DataSource, ReportService2010.DataSourceDefinition Definition);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/SetDataSourceContents", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
member this.SetDataSourceContents : string * ReportService2010.DataSourceDefinition -> unit
Public Sub SetDataSourceContents (DataSource As String, Definition As DataSourceDefinition)
參數
- DataSource
- String
資料來源的完整 URL,包括檔名和副檔名 .rsds。
- Definition
- DataSourceDefinition
DataSourceDefinition 物件,其中包含資料來源的定義。
- 屬性
範例
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)
{
ReportingService2010 rs = new ReportingService2010();
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" +
"ReportService2010.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 ReportingService2010()
rs.Url = "http://<Server Name>/_vti_bin/ReportServer/" + _
"ReportService2010.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
備註
下表顯示標頭以及有關這項作業的權限資訊。
| SOAP 標頭使用方式 | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
| 原生模式所需的許可權 | UpdateContent |
| SharePoint 模式的必要許可權 | EditListItems |
若要移除屬於資料來源定義一部分的屬性,請 null Nothing 在 Visual Basic) 中將這些屬性的值設定為 (。
如果您將 CredentialRetrieval 資料來源定義的屬性設定為 Integrated 或,則 Prompt 請勿提供或的值 UserName Password 。 這麼做會造成 SOAP 例外狀況,錯誤碼為 rsInvalidElementCombination 。
如果您將 CredentialRetrieval 資料來源定義的屬性設定為 Integrated 或,則 Store Prompt 不會儲存任何您為屬性提供的值。
使用訂閱時,您可能必須將認證儲存在報表伺服器資料庫中,才能自動執行訂閱。
將 ConnectString 資料來源定義的屬性設定為 null Nothing Visual Basic) 中的 (,會造成 SOAP 例外狀況的錯誤碼 rsInvalidXML 。 如果您不想要提供的值 ConnectString ,請將其值設定為空字串 ( "" ) 。
這個方法不支援變更 Office 資料連線或副檔名為 .odc 的檔案。 這樣做會導致 rsNotSupported 錯誤。 若是副檔名為 .rsds 或 .odc 的資料來源, rsWrongType 則會傳回錯誤。