ReportingService2005.CreateDataSource 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
보고서 서버 데이터베이스에서 새 데이터 원본을 만듭니다.
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 개체입니다.
예제
이 코드 예제를 컴파일하려면 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이거나 비어 있거나 예약된 문자를 : ? ; @ & = + $ , \ * > < | . "
포함할 수 없습니다. 슬래시 문자(/)를 사용하여 폴더의 전체 경로 이름에 있는 항목을 구분할 수 있지만 폴더 이름 끝에는 사용할 수 없습니다.