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 |
若要移除屬於資料來源定義一部分的屬性,請 null Nothing 在 Visual Basic) 中將這些屬性的值設定為 (。
如果您將 CredentialRetrieval 資料來源定義的屬性設定為 Integrated 或,則 Prompt 請勿提供或的值 UserName Password 。 這樣做會導致 SOAP 例外狀況,並產生錯誤碼 rsInvalidElementCombination 。
如果您將 CredentialRetrieval 資料來源定義的屬性設定為 Integrated 或,則 Store Prompt 不會儲存任何您為屬性提供的值。
使用訂閱時,可能需要將認證儲存在報表伺服器資料庫中,才能讓訂閱自動執行。
在 ConnectionString Visual Basic) 中,將資料來源定義的屬性設定為 (,會 null Nothing 產生包含錯誤碼的 SOAP 例外狀況 rsInvalidXML 。 如果您不想要提供的值 ConnectionString ,請將其值設定為空字串 ( "" ) 。