Integration Services용 사용자 지정 개체 개발
SQL Server Integration Services에 포함된 제어 흐름 및 데이터 흐름 개체가 요구 사항을 완전히 충족시키지 못할 경우 다음을 비롯한 여러 가지 유형의 사용자 지정 개체를 직접 개발할 수 있습니다.
사용자 지정 태스크
사용자 지정 연결 관리자 현재 지원되지 않는 외부 데이터 원본에 연결합니다.
사용자 지정 로그 공급자 현재 지원되지 않는 형식으로 패키지 이벤트를 로깅합니다.
사용자 지정 열거자 현재 지원되지 않는 일련의 개체 또는 값 형식에 대한 반복을 지원합니다.
사용자 지정 데이터 흐름 구성 요소 원본, 변환 또는 대상으로 구성할 수 있습니다.
Integration Services 개체 모델을 사용하면 사용자 지정 구현을 위한 일관되고 안정적인 프레임워크를 제공하는 기본 클래스를 통해 이러한 사용자 지정 개발을 쉽게 할 수 있습니다.
사용자 지정 기능을 여러 패키지에서 다시 사용할 필요가 없는 경우 스크립트 태스크 및 스크립트 구성 요소를 사용하면 매우 적은 양의 인프라 코드로도 관리되는 프로그래밍 언어의 강력한 기능을 사용할 수 있습니다. 자세한 내용은 스크립팅 솔루션과 사용자 지정 개체 비교를 참조하십시오.
각 유형의 개체에 대한 작업 예제는 Codeplex의 Integration Services 예제를 참조하십시오.
Integration Services용 사용자 지정 개체 개발 단계
Integration Services에서 사용할 사용자 지정 개체를 개발하는 경우 디자인 타임과 런타임에 SSIS 디자이너에서 로드하고 Integration Services 런타임에서 로드할 클래스 라이브러리(DLL)를 개발합니다. 구현해야 하는 가장 중요한 메서드는 개발자가 작성하는 코드에서 호출하는 메서드가 아니라 런타임에서 적절한 때에 구성 요소를 초기화하고 구성 요소의 유효성을 검사하고 해당 기능을 실행하기 위해 호출하는 메서드입니다.
사용자 지정 개체를 개발할 때 따라야 하는 단계는 다음과 같습니다.
관리되는 프로그래밍 언어로 형식 클래스 라이브러리의 새 프로젝트를 만듭니다.
다음 표와 같이 적절한 기본 클래스에서 상속합니다.
다음 표와 같이 새 클래스에 적절한 특성을 적용합니다.
기본 클래스의 메서드를 필요한 대로 재정의하고 개체의 사용자 지정 기능에 대한 코드를 작성합니다.
필요에 따라 구성 요소의 사용자 지정 사용자 인터페이스를 빌드합니다. 쉽게 배포할 수 있도록 사용자 인터페이스를 동일한 솔루션 내에 별도의 프로젝트로 개발하고 이를 별도의 어셈블리로 빌드할 수 있습니다.
사용자 지정 개체 빌드, 배포 및 디버깅에 설명된 대로 새 사용자 지정 개체를 빌드, 배포 및 디버깅합니다.
기본 클래스, 특성 및 주요 메서드
다음 표에서는 Integration Services 개체 모델에서 개발 가능한 각 사용자 지정 개체 유형의 가장 중요한 요소에 대한 참조를 제공합니다.
사용자 지정 개체 |
기본 클래스 |
특성 |
주요 메서드 |
---|---|---|---|
태스크 |
|||
연결 관리자 |
|||
로그 공급자 |
|||
열거자 |
|||
데이터 흐름 구성 요소 |
사용자 지정 사용자 인터페이스 제공
사용자 지정 개체의 사용자가 해당 개체의 속성을 구성할 수 있도록 하려면 사용자 지정 사용자 인터페이스도 개발해야 합니다. 사용자 지정 사용자 인터페이스가 반드시 필요하지는 않은 경우라도 기본 편집기보다 더 사용자에게 친숙한 인터페이스를 제공하기 위해 사용자 지정 사용자 인터페이스를 만들 수 있습니다.
사용자 지정 사용자 인터페이스 프로젝트 또는 어셈블리에는 일반적으로 두 개의 클래스가 포함됩니다. 하나는 특정 사용자 지정 개체 유형의 사용자 인터페이스에 대한 Integration Services 인터페이스를 구현하는 클래스이고 다른 하나는 이 클래스에서 사용자로부터 정보를 수집하기 위해 표시하는 Windows Form입니다. 구현하는 인터페이스에는 단 몇 개의 메서드만 포함되므로 사용자 지정 사용자 인터페이스는 어렵지 않게 개발할 수 있습니다.
[!참고]
대부분의 Integration Services 로그 공급자에는 IDtsLogProviderUI를 구현하며 구성 입력란을 사용 가능한 연결 관리자의 필터링된 드롭다운 목록으로 바꾸는 사용자 지정 사용자 인터페이스가 있습니다. 그러나 사용자 지정 로그 공급자의 사용자 지정 사용자 인터페이스는 이 릴리스의 Integration Services에 구현되어 있지 않습니다. 따라서 DtsLogProviderAttribute의 UITypeName 속성 값을 지정해도 아무 영향이 없습니다.
다음 표에서는 각 사용자 지정 개체 유형의 사용자 지정 사용자 인터페이스를 개발할 때 구현해야 하는 인터페이스에 대한 참조를 제공합니다. 또한 개체의 사용자 지정 사용자 인터페이스를 개발하지 않을 경우나 개체의 특성에서 UITypeName 속성을 사용하여 사용자 인터페이스에 개체를 연결하지 못할 경우 사용자에게 표시되는 내용에 대해 설명합니다. 데이터 흐름 구성 요소의 경우 강력한 고급 편집기로 충분할 수도 있지만 태스크 및 연결 관리자의 경우 속성 창은 사용자에게는 덜 친숙한 솔루션이며 사용자 지정 ForEach 열거자의 경우는 사용자 지정 폼을 사용하지 않고는 전혀 구성할 수 없습니다.
사용자 지정 개체 |
사용자 인터페이스의 기본 클래스 |
사용자 지정 사용자 인터페이스가 제공되지 않을 경우의 기본 편집 동작 |
---|---|---|
태스크 |
속성 창만 표시 |
|
연결 관리자 |
속성 창만 표시 |
|
로그 공급자 |
Integration Services에서는 구현되지 않음 |
구성 열에 입력란 표시 |
열거자 |
속성 창만 표시. 편집기의 열거자 구성 영역은 비어 있음 |
|
데이터 흐름 구성 요소 |
고급 편집기 |
외부 리소스
- blogs.msdn.com의 블로그 항목, Visual Studio 2010 솔루션 빌드 프로세스에서 SSIS 참조 때문에 .NET Framework 어셈블리에 대한 간접 종속성 경고를 제공함
|