ReportingService2006.CreateDataSource 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在 SharePoint 文件庫 建立一個新的資料來源。
public:
ReportService2006::CatalogItem ^ CreateDataSource(System::String ^ DataSource, System::String ^ Parent, bool Overwrite, ReportService2006::DataSourceDefinition ^ Definition, cli::array <ReportService2006::Property ^> ^ Properties);
public ReportService2006.CatalogItem CreateDataSource(string DataSource, string Parent, bool Overwrite, ReportService2006.DataSourceDefinition Definition, ReportService2006.Property[] Properties);
member this.CreateDataSource : string * string * bool * ReportService2006.DataSourceDefinition * ReportService2006.Property[] -> ReportService2006.CatalogItem
Public Function CreateDataSource (DataSource As String, Parent As String, Overwrite As Boolean, Definition As DataSourceDefinition, Properties As Property()) As CatalogItem
參數
- DataSource
- String
資料來源名稱,包括檔名與副檔名(.rsds)。
- Parent
- String
包含資料來源的父資料夾的完全限定網址。
- Overwrite
- Boolean
一個 Boolean 表示在指定地點中名稱相同且現有資料來源是否應覆寫的表達式。
- Definition
- DataSourceDefinition
一個 DataSourceDefinition 描述資料來源連接屬性的物件。
傳回
一個 CatalogItem 用於新建立資料來源的物件。
範例
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;
string name = "AdventureWorks.rsds";
string parent = "http://<Server Name>/Docs/Documents/";
// Define the data source definition.
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.ImpersonateUserSpecified = false;
//Use the default prompt string.
definition.Prompt = null;
definition.WindowsCredentials = false;
try
{
rs.CreateDataSource(name, parent, false,
definition, null);
}
catch (SoapException e)
{
Console.WriteLine(e.Detail.InnerXml.ToString());
}
}
}
Imports System
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 name As String = "AdventureWorks.rsds"
Dim parent As String = "http://<Server Name>/Docs/Documents/"
' Define the data source definition.
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.ImpersonateUserSpecified = False
'Use the default prompt string.
definition.Prompt = Nothing
definition.WindowsCredentials = False
Try
rs.CreateDataSource(name, parent, False, _
definition, Nothing)
Catch e As SoapException
Console.WriteLine(e.Detail.InnerXml.ToString())
End Try
End Sub
End Class
備註
下表顯示此操作的標頭與權限資訊。
| SOAP 標頭 | (在) TrustedUserHeaderValue (出局) ServerInfoHeaderValue |
| 必要權限 | 建立新資料來源: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent更新現有資料來源: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> 關於 DataSource |
若資料來源名稱中排除 .rsds 副檔名, rsFileExtensionRequired 則會回傳錯誤。 若給出 .odc 副檔名, rsNotSupported 則會回傳錯誤。
若發生錯誤,則不會建立該資料來源。
參數長度 Parent 不得超過 260 個字元;否則會拋出帶有錯誤碼 rsItemLengthExceed 的 SOAP 例外。
Parent參數不能為空或空,或包含以下保留字元: : ? ; @ & = + $ , \ * > < | . "。 你可以用斜杠(/)來分隔資料夾完整路徑名稱中的項目,但不能用在資料夾名稱的末尾