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
필요한 권한 새 데이터 원본 만들기: CreateDatasource 켜기 Parent

기존 데이터 원본 업데이트: UpdateContent 켜기 DataSource

데이터 원본 속성 업데이트: UpdateContent AND UpdateProperties 켜기 DataSource

오류가 발생하면 데이터 원본이 만들어지지 않습니다.

매개 변수의 Parent 길이는 260자를 초과할 수 없습니다. 그렇지 않으면 오류 코드 rsItemLengthExceeded와 함께 SOAP 예외가 throw됩니다.

매개 변수는 Parent null이거나 비어 있거나 예약된 문자를 : ? ; @ & = + $ , \ * > < | . "포함할 수 없습니다. 슬래시 문자(/)를 사용하여 폴더의 전체 경로 이름에 있는 항목을 구분할 수 있지만 폴더 이름 끝에는 사용할 수 없습니다.

적용 대상