다음을 통해 공유


스크립트 구성 요소

적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime

스크립트 구성 요소는 스크립트를 호스트하고 패키지가 사용자 지정 스크립트 코드를 포함하고 실행할 수 있도록 합니다. 패키지의 스크립트 구성 요소는 다음 용도로 사용할 수 있습니다.

  • 데이터 흐름에서 여러 변환을 사용하는 대신 데이터에 여러 변환을 적용합니다. 예를 들어 스크립트는 두 개의 열에 값을 추가한 다음 합계의 평균을 계산할 수 있습니다.

  • 기존 .NET 어셈블리의 비즈니스 규칙에 액세스합니다. 예를 들어 스크립트는 Income 열에 유효한 값의 범위를 지정하는 비즈니스 규칙을 적용할 수 있습니다.

  • Integration Services 식 문법에서 제공하는 함수와 연산자 외에도 사용자 지정 수식과 함수를 사용합니다. 예를 들어 LUHN 수식을 사용하는 신용 카드 번호의 유효성을 검사합니다.

  • 열 데이터의 유효성을 검사하고 잘못된 데이터가 포함된 레코드는 건너뜁니다. 예를 들어 스크립트로 적절한 우편 요금을 평가하여 금액이 너무 높거나 낮은 레코드를 건너뛸 수 있습니다.

스크립트 구성 요소는 데이터 흐름에 사용자 지정 함수를 쉽고 빠르게 포함할 방법을 제공합니다. 그러나 여러 패키지에서 스크립트 코드를 다시 사용하려는 경우 스크립트 구성 요소를 사용하는 대신 사용자 지정 구성 요소를 프로그래밍하는 것을 고려하세요. 자세한 내용은 사용자 지정 데이터 흐름 구성 요소 개발을 참조하세요.

참고 항목

스크립트 구성 요소에 NULL인 열의 값을 읽으려는 스크립트가 포함되어 있는 경우 패키지를 실행할 때 스크립트 구성 요소가 실패합니다. 스크립트에서 IsNull 메서드를 사용하여 열 값을 읽기 전에 열이 NULL인지 여부를 확인하는 것이 좋습니다.

스크립트 구성 요소는 원본, 변환 또는 대상으로 사용될 수 있습니다. 이 구성 요소는 하나의 입력과 여러 출력을 지원합니다. 구성 요소는 사용 방법에 따라 입력 또는 출력 또는 모두를 지원합니다. 스크립트는 입력 또는 출력의 모든 행에서 호출됩니다.

  • 원본으로 사용할 경우 스크립트 구성 요소는 여러 출력을 지원합니다.

  • 변환으로 사용할 경우 스크립트 구성 요소는 하나의 입력과 여러 출력을 지원합니다.

  • 대상으로 사용할 경우 스크립트 구성 요소는 하나의 입력을 지원합니다.

스크립트 구성 요소는 오류 출력을 지원하지 않습니다.

스크립트 구성 요소를 패키지에 적합한 선택 항목으로 결정한 후에는 입력과 출력을 구성하고 구성 요소에서 사용하는 스크립트를 개발하며 구성 요소 자체를 구성해야 합니다.

스크립트 구성 요소 모드 이해

SSIS 디자이너에서 스크립트 구성 요소에는 두 가지 모드(메타데이터 디자인 모드 및 코드 디자인 모드)가 있습니다. 메타데이터 디자인 모드에서는 스크립트 구성 요소 입력 및 출력을 추가하고 수정할 수 있지만, 코드를 작성할 수는 없습니다. 모든 입력 및 출력이 구성되면 코드 디자인 모드로 전환하여 스크립트를 작성합니다. 스크립트 구성 요소는 입력 및 출력의 메타데이터에서 기본 코드를 자동으로 생성합니다. 스크립트 구성 요소가 기본 코드를 생성한 후 메타데이터를 변경할 경우 업데이트된 기본 코드가 사용자의 코드와 호환되지 않을 수 있으므로 사용자의 코드가 더 이상 컴파일되지 않을 수 있습니다.

구성 요소에서 사용하는 스크립트 작성

스크립트 구성 요소는 VSTA(Microsoft Visual Studio Tools for Applications)를 스크립트 작성 환경으로 사용합니다. 스크립트 변환 편집기에서 VSTA에 액세스합니다. 자세한 내용은 스크립트 변환 편집기(스크립트 페이지)를 참조하세요.

스크립트 구성 요소는 구성 요소 메타데이터를 나타내는 ScriptMain이라는 자동 생성 클래스를 포함하는 VSTA 프로젝트를 제공합니다. 예를 들어 스크립트 구성 요소가 세 개의 출력이 있는 변환으로 사용되는 경우 ScriptMain에는 각 출력에 대한 메서드가 포함됩니다. ScriptMain은 스크립트의 진입점입니다.

VSTA에는 색으로 구분된 Visual Studio 편집기, IntelliSense, 개체 브라우저와 같은 Visual Studio 환경의 모든 표준 기능이 포함됩니다. 스크립트 구성 요소에서 사용하는 스크립트는 패키지 정의에 저장됩니다. 패키지를 디자인할 때 스크립트 코드는 임시로 프로젝트 파일에 기록됩니다.

VSTA는 Microsoft Visual C# 및 Microsoft Visual Basic 프로그래밍 언어를 지원합니다.

스크립트 구성 요소를 프로그래밍하는 방법에 대한 자세한 내용은 스크립트 구성 요소를 사용하여 데이터 흐름 확장을 참조하세요. 스크립트 구성 요소를 원본, 변환 또는 대상으로 구성하는 방법에 대한 자세한 내용은 스크립트 구성 요소의 특정 유형 개발을 참조하세요. 스크립트 구성 요소의 사용을 보여 주는 ODBC 대상과 같은 추가 예제는 추가 스크립트 구성 요소 예제를 참조하세요.

참고 항목

스크립트가 미리 컴파일되었는지 여부를 나타낼 수 있는 이전 버전과 달리 모든 스크립트는 SQL Server 2008 Integration Services(SSIS) 이상 버전에서 미리 컴파일됩니다. 스크립트가 미리 컴파일되면 런타임에 언어 엔진이 로드되지 않고 패키지가 더 빠르게 실행됩니다. 그러나 미리 컴파일된 이진 파일은 상당한 디스크 공간을 사용합니다.

스크립트 구성 요소 구성

다음과 같은 방법으로 스크립트 구성 요소를 구성할 수 있습니다.

  • 참조할 입력 열을 선택합니다.

    참고 항목

    SSIS 디자이너를 사용하면 입력을 한 개만 구성할 수 있습니다.

  • 구성 요소가 실행하는 스크립트를 제공합니다.

  • 스크립트 언어를 지정합니다.

  • 쉼표로 구분된 읽기 전용 및 읽기/쓰기 변수 목록을 제공합니다.

  • 더 많은 출력을 추가하고, 스크립트가 할당하는 출력 열을 추가합니다.

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

디자이너에서 스크립트 구성 요소 구성

SSIS 디자이너에서 이러한 속성을 설정하는 방법을 보려면 다음 항목을 클릭하세요.

프로그래밍 방식으로 스크립트 구성 요소 구성

속성 창에서 설정하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요.

속성을 설정하는 방법을 보려면 다음 항목 중 하나를 클릭하세요.

스크립트 구성 요소 유형 선택

스크립트 구성 요소 유형 선택 대화 상자를 사용하여 원본, 변환 또는 대상으로 사용하도록 미리 구성된 스크립트 변환을 만들지 여부를 지정합니다.

스크립트 구성 요소에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성을 참조하세요. 스크립트 구성 요소를 프로그래밍하는 방법은 스크립트 구성 요소를 사용하여 데이터 흐름 확장을 참조하세요.

옵션

원본, 대상 또는 변환에서 선택한 내용에 따라 스크립트 변환 편집기의 페이지와 스크립트 변환 구성이 달라집니다.

스크립트 변환 편집기(연결 관리자 페이지)

스크립트 변환 편집기연결 관리자 페이지를 사용하여 스크립트에서 사용할 연결을 지정합니다.

스크립트 구성 요소에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성을 참조하세요. 스크립트 구성 요소를 프로그래밍하는 방법은 스크립트 구성 요소를 사용하여 데이터 흐름 확장을 참조하세요.

옵션

연결 관리자
스크립트에서 사용할 수 있는 연결 목록을 봅니다.

이름
연결에 대한 설명이 포함된 고유 이름을 입력합니다.

연결 관리자
사용 가능한 연결 관리자 목록에서 선택하거나 <새 연결>을 선택하여 SSIS 연결 관리자 추가 대화 상자를 엽니다.

설명
연결에 대한 설명을 입력합니다.

추가
연결 관리자 목록에 다른 연결을 추가합니다.

제거
연결 관리자 목록에서 선택된 연결을 제거합니다.

스크립트 변환 편집기(입력 열 페이지)

스크립트 변환 편집기 대화 상자의 입력 열 페이지를 사용하여 입력 열에 속성을 설정합니다.

참고 항목

입력 열 페이지는 출력은 있지만 입력은 없는 원본 구성 요소에 대해서는 표시되지 않습니다.

스크립트 구성 요소에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성을 참조하세요. 스크립트 구성 요소를 프로그래밍하는 방법은 스크립트 구성 요소를 사용하여 데이터 흐름 확장을 참조하세요.

옵션

입력 이름
사용 가능한 입력 목록에서 선택합니다.

사용 가능한 입력 열
확인란을 사용하여 스크립트 변환에서 사용할 열을 지정합니다.

입력 열
각 행에 대해 사용 가능한 입력 열 목록에서 선택합니다. 선택 내용에 따라 사용 가능한 입력 열테이블의 확인란이 달라집니다.

출력 별칭
각 출력 열에 대한 별칭을 입력해 주세요. 기본값은 입력 열의 이름이지만 설명이 포함된 고유 이름을 임의로 선택할 수 있습니다.

사용 유형
스크립트 변환에서 각 열을 ReadOnly 또는 ReadWrite로 처리할지 여부를 지정합니다.

스크립트 변환 편집기(입력 및 출력 페이지)

스크립트 변환 편집기 대화 상자의 입력 및 출력 페이지를 사용하여 스크립트 변환에 대한 입력 및 출력을 추가, 제거, 구성합니다.

참고 항목

원본 구성 요소는 출력이 있고 입력이 없지만 대상 구성 요소는 입력이 있고 출력이 없습니다. 변환은 입력과 출력이 모두 있습니다.

스크립트 구성 요소에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성을 참조하세요. 스크립트 구성 요소를 프로그래밍하는 방법은 스크립트 구성 요소를 사용하여 데이터 흐름 확장을 참조하세요.

옵션

입력 및 출력
왼쪽에서 입력 또는 출력을 선택하여 오른쪽에 있는 테이블에서 해당 속성을 확인합니다. 편집할 수 있는 속성은 선택에 따라 달라집니다. 표시된 속성 중 다수는 읽기 전용입니다. 개별 속성에 대한 자세한 내용은 다음 항목을 참조하세요.

공통 속성

변환 사용자 지정 속성

출력 추가
목록에 추가 출력을 추가합니다.

열 추가
새 출력 열을 배치할 폴더를 선택한 다음 열 추가를 클릭하여 열을 추가합니다.

출력 제거
출력을 선택한 다음 출력 제거를 클릭하여 제거합니다.

열 제거
열을 선택한 다음 열 제거를 클릭하여 제거합니다.

스크립트 변환 편집기(스크립트 페이지)

스크립트 변환 편집기 대화 상자의 스크립트 탭을 사용하여 스크립트와 관련 속성을 지정합니다.

스크립트 구성 요소에 대한 자세한 내용은 스크립트 구성 요소 편집기에서 스크립트 구성 요소 구성을 참조하세요. 스크립트 구성 요소를 프로그래밍하는 방법은 스크립트 구성 요소를 사용하여 데이터 흐름 확장을 참조하세요.

옵션

속성
스크립트 변환의 속성을 보고 수정합니다. 표시된 속성 중 다수는 읽기 전용입니다. 다음 속성을 수정할 수 있습니다.

설명
설명 스크립트 변환의 용도를 설명합니다.
LocaleID 지역별 정렬 순서와 날짜 및 시간 변환 정보를 제공하는 로캘을 지정합니다.
이름 구성 요소에 대한 설명이 포함된 이름을 입력합니다.
ValidateExternalMetadata 스크립트 변환이 디자인 타임에서 외부 데이터 원본에 대해 열 메타데이터의 유효성을 검사할 것인지 여부를 나타냅니다. false 값은 실행 시간까지 유효성 검사를 지연합니다.
ReadOnlyVariables 스크립트 변환을 통해 읽기 전용으로 액세스할 변수 목록을 쉼표로 구분하여 입력합니다.

참고: 변수/ 이름은 대소문자를 구분합니다.
ReadWriteVariables 스크립트 변환을 통해 읽기/쓰기 액세스 권한을 위한 쉼표로 구분된 변수 목록을 입력합니다.

참고: 변수/ 이름은 대소문자를 구분합니다.
ScriptLanguage 스크립트 구성 요소에서 사용할 스크립트 언어를 선택합니다.

스크립트 구성 요소 및 스크립트 태스크에 대한 기본 스크립트 언어를 설정하려면 옵션 대화 상자의 일반 페이지에서 스크립트 언어 옵션을 사용합니다.
UserComponentTypeName SQL Server 인프라를 지원하는 ScriptComponentHost 클래스 및 Microsoft.SqlServer.TxScript 어셈블리를 지정합니다.

스크립트 편집
VSTA(Microsoft Visual Studio Tools for Applications)를 사용하여 스크립트를 작성하거나 수정합니다.

Integration Services 변환

스크립트 구성 요소를 사용하여 데이터 흐름 확장