데이터 처리 확장 프로그램 구현 준비Preparing to Implement a Data Processing Extension

SQL ServerSQL Server Reporting ServicesReporting Services 데이터 처리 확장 프로그램을 구현하기 전에 먼저 구현할 인터페이스를 정의해야 합니다.Before you implement your SQL ServerSQL Server Reporting ServicesReporting Services data processing extension, you should define the interfaces to implement. 전체 인터페이스 집합의 확장 프로그램별 구현을 제공해야 할 수도 있습니다. 또는 클라이언트가 DataReader 개체 형태인 결과 집합과 주로 상호 작용하고 SSRSSSRS 데이터 처리 확장 프로그램을 결과 집합과 데이터 원본 사이의 연결 고리로 사용하는 IDataReaderIDbCommand 인터페이스와 같은 하위 집합에 대한 구현에 초점을 맞추어야 할 수도 있습니다.You may want to provide extension-specific implementations of the entire set of interfaces, or you may simply want to focus your implementation on a subset, such as the IDataReader and IDbCommand interfaces in which clients would interact primarily with a result set as a DataReader object and would use your SSRSSSRS data processing extension as a bridge between the result set and your data source.

다음 두 가지 방법 중 하나로 데이터 처리 확장 프로그램을 구현할 수 있습니다.You can implement data processing extensions in one of two ways:

  • 데이터 처리 확장 프로그램 클래스는 MicrosoftMicrosoft .NET Framework.NET Framework 데이터 공급자 인터페이스 및 Reporting ServicesReporting Services에서 제공하는 확장된 데이터 처리 확장 프로그램 인터페이스(선택 사항)를 구현할 수 있습니다.Your data processing extension classes can implement the MicrosoftMicrosoft .NET Framework.NET Framework data provider interfaces and optionally the extended data processing extension interfaces provided by Reporting ServicesReporting Services.

  • 데이터 처리 확장 프로그램 클래스는 Reporting ServicesReporting Services에서 제공하는 데이터 처리 확장 프로그램 인터페이스 및 확장된 데이터 처리 확장 프로그램 인터페이스(선택 사항)를 구현할 수 있습니다.Your data processing extension classes can implement the data processing extension interfaces provided by Reporting ServicesReporting Services and optionally the extended data processing extension interfaces.

    Reporting ServicesReporting Services 데이터 처리 확장 프로그램에서 특정 속성 또는 메서드를 지원하지 않을 경우 속성 또는 메서드를 작업 없음으로 구현합니다.If your Reporting ServicesReporting Services data processing extension will not support a particular property or method, implement the property or method as no-operation. 클라이언트에서 특정 동작이 필요한 경우 NotSupportedException 예외가 throw됩니다.If a client expects a particular behavior, throw a NotSupportedException exception.

참고

속성 또는 메서드에 대한 작업 없음 구현은 구현 대상으로 선택한 인터페이스의 속성 및 메서드에만 적용됩니다.A no-operation implementation of a property or method only applies to the properties and methods of those interfaces that you choose to implement. 구현하지 않도록 선택한 인터페이스는 데이터 처리 확장 프로그램 어셈블리에 포함되지 않아야 합니다.Optional interfaces that you choose not to implement should be left out of your data processing extension assembly. 인터페이스가 필수인지 아니면 선택적인지에 대한 자세한 내용은 이 섹션의 후반에 나오는 표를 참조하십시오.For more information about whether an interface is required or optional, see the table later in this section.

필수 확장 프로그램 기능Required Extension Functionality

Reporting ServicesReporting Services 데이터 처리 확장 프로그램은 다음 기능을 제공해야 합니다.Each Reporting ServicesReporting Services data processing extension must provide the following functionality:

  • 데이터 원본에 연결합니다.Open a connection to a data source.

  • 쿼리를 분석하고 결과 집합에 대한 필드 이름 목록을 반환합니다.Analyze a query and return a list of field names for the result set.

  • 데이터 원본에 대한 쿼리를 실행하고 행 집합을 반환합니다.Execute a query against the data source and return a row set.

  • 단일 값 매개 변수를 쿼리에 전달합니다.Pass single-valued parameters to the query.

  • 행 집합의 행을 반복 처리하고 데이터를 검색합니다.Iterate through rows in the row set and retrieve data.

    각 데이터 처리 확장 프로그램은 다음 기능을 포함하도록 확장할 수 있습니다.Each data processing extension can be extended to include the following functionality:

  • 쿼리를 분석하고 쿼리에 사용된 매개 변수 이름 목록을 반환합니다.Analyze a query and return a list of parameter names used in the query.

  • 쿼리를 분석하고 쿼리 그룹화 기준이 되는 필드 목록을 반환합니다.Analyze a query and return the list of fields by which the query is grouped.

  • 쿼리를 분석하고 쿼리 정렬 기준이 되는 필드 목록을 반환합니다.Analyze a query and return the list of fields by which the query is sorted.

  • 연결 문자열에 독립적인 데이터 원본에 연결하기 위한 사용자 이름과 암호를 제공합니다.Provide a user name and password to connect to the data source that is independent of the connection string.

  • 행 집합의 행을 반복 처리하고 데이터 값에 대한 보조 메타데이터를 검색합니다.Iterate through rows in the row set and retrieve auxiliary metadata about the data values.

  • 서버에서 데이터를 집계합니다.Aggregate data at the server.

사용 가능한 확장 프로그램 인터페이스Available Extension Interfaces

다음 표에서는 사용 가능한 인터페이스를 보여 주고 구현이 필수인지 선택적인지 설명합니다.The following table describes the available interfaces and whether implementation is required or optional.

인터페이스Interface DescriptionDescription 구현Implementation
IDbConnectionIDbConnection 데이터 원본의 고유 세션을 나타냅니다.Represents a unique session with a data source. 클라이언트/서버 데이터베이스 시스템의 경우에는 세션이 서버에 대한 네트워크 연결과 같을 수 있습니다.In the case of a client/server database system, the session may be equivalent to a network connection to the server. 필수임Required
IDbConnectionExtensionIDbConnectionExtension 보안 및 인증과 관련하여 SSRSSSRS 데이터 처리 확장 프로그램으로 구현할 수 있는 추가 연결 속성을 나타냅니다.Represents additional connection properties that can be implemented by SSRSSSRS data processing extensions regarding security and authentication. 선택 사항Optional
IDbTransactionIDbTransaction 로컬 트랜잭션을 나타냅니다.Represents a local transaction. 필수임Required
IDbTransactionExtensionIDbTransactionExtension SSRSSSRS 데이터 처리 확장 프로그램으로 구현할 수 있는 추가 트랜잭션 속성을 나타냅니다.Represents additional transaction properties that can be implemented by SSRSSSRS data processing extensions. 선택 사항Optional
IDbCommandIDbCommand 데이터 원본에 연결되었을 때 사용되는 쿼리 또는 명령을 나타냅니다.Represents a query or command that is used when connected to a data source. 필수임Required
IDbCommandAnalysisIDbCommandAnalysis 쿼리를 분석하고 쿼리에서 사용된 매개 변수 이름 목록을 반환하기 위한 추가 명령 정보를 나타냅니다.Represents additional command information for analyzing a query and returning a list of parameter names used in the query. 선택 사항Optional
IDataParameterIDataParameter 명령 또는 쿼리에 전달된 매개 변수 또는 이름/값 쌍을 나타냅니다.Represents a parameter or name/value pair that is passed to a command or query. 필수임Required
IDataParameterCollectionIDataParameterCollection 명령 또는 쿼리와 관련된 모든 매개 변수의 모음을 나타냅니다.Represents a collection of all parameters relevant to a command or query. 필수임Required
IDataReaderIDataReader 데이터 원본에서 데이터의 정방향 전용, 읽기 전용 스트림을 읽는 방법을 제공합니다.Provides a method of reading a forward-only, read-only stream of data from your data source. 필수임Required
IDataReaderExtensionIDataReaderExtension 데이터 원본에서 명령을 실행하여 얻은 정방향 전용 결과 집합 스트림을 하나 이상 읽는 방법을 제공합니다.Provides a method of reading one or more forward-only streams of result sets, obtained by executing a command at a data source. 이 인터페이스는 필드 집계에 대한 추가 지원을 제공합니다.This interface provides additional support for field aggregates. 선택 사항Optional
IExtensionIExtension Reporting ServicesReporting Services 데이터 처리 확장 프로그램에 대한 기본 클래스를 제공합니다.Provides the base class for a Reporting ServicesReporting Services data processing extension. 또한 구현 전문가는 이 인터페이스를 사용하여 확장 프로그램에 대한 지역화된 이름을 포함시키고 구성 파일에서 확장 프로그램으로 구성 설정을 전달할 수 있습니다.Also enables an implementer to include a localized name for the extension and to pass configuration settings from the configuration file to the extension. 필수임Required

데이터 처리 확장 프로그램 인터페이스는 .NET Framework.NET Framework 데이터 공급자 인터페이스, 메서드 및 속성의 하위 집합과 동일합니다(가능한 경우 항상).The data processing extension interfaces are identical to a subset of the .NET Framework.NET Framework data provider interfaces, methods, and properties whenever possible. 전체 .NET Framework.NET Framework 데이터 공급자를 구현하는 방법은 .NET Framework.NET Framework SDK(소프트웨어 개발 키트) 설명서의 ".NET Framework 데이터 공급자 구현(Implementing a .NET Framework Data Provider)"을 참조하십시오.For more information about implementing a full .NET Framework.NET Framework data provider, see "Implementing a .NET Framework Data Provider" in your .NET Framework.NET Framework Software Development Kit (SDK) documentation.

관련 항목:See Also

Reporting Services 확장 프로그램 Reporting Services Extensions
데이터 처리 확장 프로그램 구현 Implementing a Data Processing Extension
Reporting Services 확장 라이브러리Reporting Services Extension Library