다음을 통해 공유


스크립트 구성 요소

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

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

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

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

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

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

비고

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

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

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

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

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

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

스크립트 구성 요소가 패키지에 적합한 선택이라고 결정한 후에는 입력 및 출력을 구성하고, 구성 요소에서 사용하는 스크립트를 개발하고, 구성 요소 자체를 구성해야 합니다.

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

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

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

스크립트 구성 요소는 스크립트를 작성하는 환경으로 Microsoft VSTA(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 디자이너에서 이러한 속성을 설정하는 방법에 대한 자세한 내용은 다음 항목을 클릭합니다.

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

속성 창에서 또는 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용은 다음 항목 중 하나를 클릭합니다.

속성 설정 방법을 보려면 다음 항목 중 하나를 클릭하십시오.

Integration Services 변환

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