ReportingService2005.CreateDataSource 方法

定义

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

public:
 void CreateDataSource(System::String ^ DataSource, System::String ^ Parent, bool Overwrite, ReportService2005::DataSourceDefinition ^ Definition, cli::array <ReportService2005::Property ^> ^ Properties);
public void CreateDataSource (string DataSource, string Parent, bool Overwrite, ReportService2005.DataSourceDefinition Definition, ReportService2005.Property[] Properties);
member this.CreateDataSource : string * string * bool * ReportService2005.DataSourceDefinition * ReportService2005.Property[] -> unit
Public Sub CreateDataSource (DataSource As String, Parent As String, Overwrite As Boolean, Definition As DataSourceDefinition, Properties As Property())

参数

DataSource
String

数据源的名称。

Parent
String

包含数据源的父文件夹的完整路径名称。

Overwrite
Boolean

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

Definition
DataSourceDefinition

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

Properties
Property[]

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

示例

若要编译此代码示例,必须引用 Reporting Services WSDL 并导入某些命名空间。 有关详细信息,请参阅 编译和运行代码示例。 下面的代码示例在报表服务器数据库的根文件夹中创建新的数据源:

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 name As String = "AdventureWorks"  
      Dim parent As String = "/"  

      ' 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 '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;  

      string name = "AdventureWorks";  
      string parent ="/";  

      // 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());   
      }  
   }  
}  

注解

下表显示了有关此操作的标头和权限信息。

SOAP 标头 (In) BatchHeaderValue

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

更新现有数据源: UpdateContent on DataSource

更新数据源属性: UpdateContent AND UpdateProperties on DataSource

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

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

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

适用于