런타임에 OData 원본 쿼리 수정Modify OData Source Query at Runtime

데이터 흐름 태스크의 [OData Source].[Query] 속성에 식을 추가하여 런타임에 OData 원본 쿼리를 수정할 수 있습니다.You can modify the OData Source query at runtime by adding an expression to the [OData Source].[Query] property of the Data Flow task.

열은 디자인 타임에 사용된 것과 동일하게 유지되어야 합니다. 그렇지 않으면 패키지가 실행될 때 오류가 발생합니다.Note that the columns must remain the same as what was used at design time; otherwise you will get an error when the package is executed. $select 쿼리 옵션을 사용할 때 동일한 열을 같은 순서로 지정해야 합니다.Be sure to specify the same columns (in the same order) when using the $select query option. $select 옵션을 사용하는 것보다 안전한 방법은 원본 구성 요소 UI에서 직접 원하지 않는 열의 선택을 취소하는 것입니다.A safer alternative to using the $select option is to deselect the columns you don’t want directly from the Source Component UI.

런타임에 쿼리 값을 동적으로 설정하는 몇 가지 다른 방법이 있습니다.There are a few different ways of dynamically setting the query value at runtime. 보다 일반적인 방법 중 몇 가지는 다음과 같습니다.Below are some of the more common methods.

쿼리를 매개 변수로 노출Exposing the Query as a Parameter

다음 절차에는 OData 원본 구성 요소에서 패키지에 대한 매개 변수로 사용하는 쿼리를 노출하는 단계가 있습니다.The following procedure has steps to expose query used by an OData Source component as a parameter to the package.

  1. 데이터 흐름 태스크 를 마우스 오른쪽 단추로 클릭하고 매개 변수화…옵션을 선택합니다.Right click on the Data Flow task and select the Parameterize… 옵션에 로컬 컴퓨터 이름을 지정한 경우option.

  2. 매개 변수화 대화 상자에서 [<의 OData 원본 구성 요소 이름 >]. [ 쿼리] 에 대 한 속성합니다.In the Parameterize dialog, select [<Name of the OData Source Component>].[Query] for Property.

  3. 새 매개 변수 만들기 또는 기존 매개 변수 사용중에서 하나를 선택합니다.Choose whether to create new parameter or use an existing parameter.

  4. 새 매개 변수 만들기를 선택하는 경우 다음을 수행합니다.If you select Create new parameter, do the following:

    1. 매개 변수의 이름설명 을 입력합니다.Enter name and description for the parameter.

    2. 매개 변수의 기본 을 지정합니다.Specify default value for the parameter.

    3. 매개 변수의 범위 (패키지 또는 프로젝트)를 지정합니다.Specify the scope (package or project) for the parameter.

    4. 매개 변수가 필수 인지 여부를 지정합니다.Specify whether the parameter is required or not

  5. 확인 을 클릭하여 대화 상자를 닫습니다.Click OK to close the dialog box.

식 사용Using an Expression

이 방법은 런타임에 쿼리 문자열을 동적으로 생성하려는 경우에 유용합니다.This method is useful when you want to dynamically construct query string at runtime. 이 예에서 MaxRows 변수는 다른 수단(스크립트, 매개 변수 등)을 통해 설정됩니다.In this example, MaxRows variable will be set through other means (script, parameter, etc).

  1. OData 원본 이 포함된 데이터 흐름 태스크를 선택합니다.Select the Data Flow Task which contains your OData Source.

  2. 속성 창에서 Expressions 속성을 강조 표시합니다.In the Properties window, highlight the Expressions property.

  3. …(줄임표) 단추를Click the … 클릭하여 속성 식 편집기를 엽니다.(ellipses) button to bring up the Property Expressions Editor.

  4. [OData Source].[Query] 속성을 선택합니다.Select the [OData Source].[Query] property.

  5. …(줄임표) 단추를Click the … 에 대해 클릭합니다.(ellipses) button for Expression.

  6. 을 입력합니다.Enter the expression.

  7. 확인을 클릭합니다.Click OK.

경고

이 방법을 사용할 때는 설정된 값이 적절하게 URL로 인코딩되었는지 확인해야 합니다.Note that when using this approach you need to ensure that the values set are properly URL encoded. 사용자 입력에서 값을 받을 때(예를 들어 매개 변수에서 개별 쿼리 옵션을 설정할 때) 잠재적인 SQL 삽입형 공격을 방지하기 위해 값의 유효성을 검사해야 합니다.When receiving values from user input (for example, setting individual query option values from a parameter), you must ensure that the values are validated to avoid potential SQL injection-type attacks.