ReportingService2010.CreateDataSource 方法

定义

在报表服务器数据库或 SharePoint 库中创建新的数据源。

public:
 ReportService2010::CatalogItem ^ CreateDataSource(System::String ^ DataSource, System::String ^ Parent, bool Overwrite, ReportService2010::DataSourceDefinition ^ Definition, cli::array <ReportService2010::Property ^> ^ Properties);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateDataSource", 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("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public ReportService2010.CatalogItem CreateDataSource (string DataSource, string Parent, bool Overwrite, ReportService2010.DataSourceDefinition Definition, ReportService2010.Property[] Properties);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateDataSource", 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("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.CreateDataSource : string * string * bool * ReportService2010.DataSourceDefinition * ReportService2010.Property[] -> ReportService2010.CatalogItem
Public Function CreateDataSource (DataSource As String, Parent As String, Overwrite As Boolean, Definition As DataSourceDefinition, Properties As Property()) As CatalogItem

参数

DataSource
String

数据源的名称,其中包括文件名,在 SharePoint 模式下还包括扩展名 (.rsds)。

Parent
String

将包含数据源的父文件夹的完全限定 URL。

Overwrite
Boolean

一个Boolean表达式,该表达式指示是否应该覆盖指定位置中同名的现有数据源。

Definition
DataSourceDefinition

一个描述数据源的连接属性的 DataSourceDefinition 对象。

Properties
Property[]

Property 对象的数组,它定义要为数据源设置的属性名和属性值。

返回

一个用于新创建的数据源的 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)  
    {  
        ReportingService2010 rs = new ReportingService2010();  
        rs.Url = "http://<Server Name>" +   
            "/_vti_bin/ReportServer/ReportService2010.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 ReportingService2010()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2010.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 标头用法 (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
本机模式所需的权限 创建新数据源: CreateDatasourceParent

更新现有数据源: UpdateContent on DataSource

更新数据源属性: UpdateContent AND UpdateProperties on DataSource
SharePoint 模式所需权限 创建新数据源: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems>Parent

更新现有数据源: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on DataSource

如果 .rsds 扩展名从数据源名称中排除,将返回错误 rsFileExtensionRequired 。 如果提供了 .odc 扩展名,则返回错误 rsNotSupported

如果发生错误,则不会创建数据源。

参数的 Parent 长度不能超过 260 个字符;否则,将引发 SOAP 异常,错误代码 为 rsItemLengthExceededed

参数 Parent 不能为 null 或空,也不能包含以下保留字符: : ? ; @ & = + $ , \ * > < | . "。 可以使用 /) (正斜杠字符分隔文件夹的完整路径名称中的项目,但不能在文件夹名称的末尾使用它。

适用于