구독자 데이터에 외부 데이터 원본 사용(데이터 기반 구독)Use an External Data Source for Subscriber Data (Data-Driven Subscription)

데이터 기반 구독에서는 외부 데이터 원본에서 데이터를 검색하는 쿼리 또는 명령에 의해 동적 구독 데이터가 제공됩니다.In a data-driven subscription, dynamic subscription data is provided by a query or command that retrieves data from an external data source. 데이터 기반 구독 처리 요구 사항을 만족하는 지원되는 모든 데이터 원본에서 구독 데이터를 검색할 수 있습니다.Subscription data can be retrieved from any supported data source that meets the requirements for data-driven subscription processing. 쿼리 또는 명령 구문은 보고서 서버와 함께 설치되는 데이터 처리 확장 프로그램에 유효해야 합니다.The query or command syntax must be valid for a data processing extension installed with your report server.

데이터 처리 요구 사항Data Processing Requirements

Reporting ServicesReporting Services 에서는 데이터 처리 확장 프로그램을 사용하여 구독 데이터를 검색합니다. uses data processing extensions to retrieve subscription data. 권장되는 데이터 원본 유형은 다음과 같습니다.Recommended data source types include the following:

  • SQL ServerSQL Server 관계형 데이터베이스 relational databases

  • Oracle 데이터베이스Oracle databases

  • Analysis ServicesAnalysis Services 다차원 및 데이터 마이닝 데이터 원본 multidimensional and data mining data sources

  • XML 데이터 원본XML data sources

    구독자 데이터에 XML 데이터 처리 확장 프로그램을 사용할 때는 구독에서 쿼리 제한 시간 설정을 늘려야 합니다.When using the XML data processing extension for subscriber data, be sure to increase the query timeout settings in the subscription. XML 데이터 처리 확장 프로그램은 쿼리 제한 시간 값에 초가 아닌 밀리초를 사용합니다.The XML data processing extension uses milliseconds rather than seconds for query timeout values. 제한 시간 값을 늘리지 않으면 처리 시간 부족으로 인해 구독이 실패할 수 있습니다.If you do not increase the timeout value, the subscription might fail due to insufficient processing time.

    구독자 데이터 원본에 대한 연결을 구성할 때 자격 증명 필요 없음 옵션을 사용하지 마십시오.Avoid using the Credentials are not required option when configuring the connection to the subscriber data source. XML 데이터 처리 확장 프로그램을 사용하여 런타임에 구독 데이터를 검색하는 경우에는 저장된 자격 증명을 사용하는 것이 좋습니다.Stored credentials are recommended when using the XML data processing extension to retrieve subscription data at run time.

    지원되는 다른 데이터 원본 유형을 사용할 수 있지만 이 중 일부는 작동하지 않을 수 있습니다.You might be able to use other supported data source types, but not all of them are guaranteed to work. 예를 들어 다음 데이터 원본 유형은 구독자 데이터에 사용할 수 없습니다.For example, the following data source types cannot be used for subscriber data:

  • SAP Netweaver BI 데이터베이스SAP Netweaver BI databases

  • 보고서 모델report models

    데이터 기반 구독에 사용할 사용자 지정 데이터 처리 확장 프로그램이 있을 경우 해당 프로그램에서는 IDbCommandIDataReader 인터페이스를 구현해야 합니다.If you have a custom data processing extension that you want to use in data-driven subscriptions, it must implement the IDbCommand and the IDataReader interfaces. 데이터 처리 확장 프로그램에서는 스키마 전용 쿼리 실행을 지원해야 합니다.The data processing extension must support a schema-only query execution. 이 쿼리는 사용자가 열을 구독 정의에 있는 배달 옵션 및 보고서 매개 변수에 매핑할 수 있도록 디자인 타임에 열 메타데이터를 검색하는 데 사용됩니다.This query is used to retrieve column metadata at design-time so that users can map columns to delivery options and report parameters in the subscription definition. 사용자가 구독을 정의할 때는 초기 단계에서 스키마 전용 쿼리가 실행됩니다.Schema-only query execution occurs at an early stage when the user is defining the subscription.

쿼리 요구 사항Query Requirements

구독 데이터를 검색하는 쿼리를 만들 때 다음 사항을 유의하십시오.When creating query that retrieves subscription data, keep the following points in mind:

  • 구독에 대해 하나의 쿼리만 만들 수 있습니다.You can only create one query for the subscription.

  • 쿼리에서 배달 옵션 및 보고서 매개 변수 지정에 사용할 값을 모두 반환해야 합니다.The query must return all of the values that you want to use for delivery options and for specifying report parameters.

  • 보고서 서버에서는 결과 집합의 모든 행에 대한 보고서 배달을 만듭니다.The report server will create a report delivery for every row in the result set. 결과 집합이 300개의 행으로 구성된 경우에는 보고서 서버에서 300개의 보고서 배달을 시도합니다.If the result set consists of three hundred rows, the report server will attempt to deliver three hundred reports.

구독자 데이터베이스에서 변수 데이터를 사용하여 배달 옵션 설정Setting Delivery Options Using Variable Data from a Subscriber Database

구독자 데이터베이스에 있는 데이터를 사용하여 각 받는 사람에 대한 배달 옵션을 사용자 지정할 수 있습니다.You can use data in the subscriber database to customize delivery options for each recipient. 사용하는 배달 확장 프로그램 종류에 따라 사용 가능한 옵션이 결정됩니다.The kind of delivery extension you are using determines which options are available. 보고서 서버 전자 메일 배달 확장 프로그램을 사용하는 경우 쿼리에는 각 구독자에 대한 전자 메일 별칭이 포함되어야 합니다.If you are using the report server e-mail delivery extension, the query should contain an e-mail alias for each subscriber. 파일 공유 배달을 사용하고 있는 경우 구독자 데이터에는 구독자별 보고서 파일을 만들거나 배달 대상을 제공하는 데 사용할 수 있는 값이 포함되어야 합니다.If you are using file share delivery, the subscriber data should include values that can be used to create subscriber-specific report files or to provide a destination for the delivery. 자세한 내용은 Reporting Services의 전자 메일 배달을 참조하세요.For more information, see E-Mail Delivery in Reporting Services.

구독자 데이터베이스에서 보고서로 매개 변수 값 전달Passing Parameter Values from the Subscriber Database to the Report

매개 변수가 있는 보고서에 대해 데이터 기반 구독을 만드는 경우 변수 매개 변수 값을 사용하여 각 보고서의 출력을 사용자 지정할 수 있습니다.If you are creating a data-driven subscription for a parameterized report, you can use variable parameter values to customize the output of each report. 예를 들어 구독자 데이터베이스에는 보고서 데이터를 필터링하는 데 사용할 수 있는 직원 ID 번호, 채용일, 직함, 사무실 위치 정보 등이 포함될 수 있습니다.For example, the subscriber database might contain employee identification numbers, hire dates, job titles, and office location information that can be used to filter report data. 보고서에서 이러한 열 데이터나 기타 사용 가능한 열 데이터를 기반으로 하는 매개 변수를 사용하면 매개 변수를 해당 열로 매핑할 수 있습니다.If the report accepts parameters that are based on these or other available column data, you can map the parameter to the appropriate column.

구독자 필드를 보고서 매개 변수에 매핑할 때 데이터 형식과 열 길이는 호환 가능해야 합니다.When mapping subscriber fields to report parameters, make sure that the data types and column lengths are compatible. 데이터 형식이 일치하지 않으면 구독을 처리하는 동안 오류가 발생합니다.If there is a data type mismatch, an error will occur during subscription processing. 매개 변수가 있는 보고서의 구독자 데이터를 사용 하는 방법에 대 한 자세한 참조 데이터 기반 구독 ( 만들기 SSRS 자습서 ) .To learn more about using subscriber data in a parameterized report, see Create a Data-Driven Subscription (SSRS Tutorial).

구독자 데이터 원본 수정Modifying the Subscriber Data Source

구독자 데이터 원본을 다음과 같이 수정하면 구독이 실행되지 않을 수 있습니다.The following modifications to the subscriber data source can prevent the subscription from running:

  • 구독에 참조된 열 제거Removing columns that are referenced in the subscription.

  • 데이터 원본의 테이블 구조 수정Modifying the table structure of the data source.

  • 데이터 형식 및 기타 열 속성 변경Changing data type and other column properties.

    이렇게 변경하는 경우에는 구독을 업데이트해야 합니다.If you make any of these changes, you must update the subscription.

관련 항목:See Also

데이터 기반 구독 만들기, 수정 및 삭제 Create, Modify, and Delete Data-Driven Subscriptions
데이터 기반 구독 Data-Driven Subscriptions
구독 및 배달 ( Reporting services)Subscriptions and Delivery (Reporting Services)