다음을 통해 공유


사용자 지정 태스크 만들기

사용자 지정 태스크를 만드는 단계는 Integration Services의 다른 사용자 지정 개체를 만드는 단계와 비슷합니다.

  • 기본 클래스에서 상속되는 새 클래스를 만듭니다. 태스크의 경우 기본 클래스는 Task입니다.

  • 개체 유형을 식별하는 특성을 클래스에 적용합니다. 태스크의 경우 이 특성은 DtsTaskAttribute입니다.

  • 기본 클래스의 메서드 및 속성 구현을 재정의합니다. 태스크의 경우 이러한 메서드로는 ValidateExecute 메서드가 포함됩니다.

  • 필요한 경우 사용자 지정 사용자 인터페이스를 개발합니다. 태스크의 경우 사용자 지정 사용자 인터페이스를 개발하려면 IDtsTaskUI 인터페이스를 구현하는 클래스가 필요합니다.

사용자 지정 태스크의 작업 예제는 Codeplex의 Integration Services 예제를 참조하십시오.

사용자 지정 태스크 시작

프로젝트 및 클래스 만들기

관리되는 태스크는 모두 Task 기본 클래스에서 파생되므로 사용자 지정 태스크를 만들려면 먼저 관리되는 프로그래밍 언어로 클래스 라이브러리 프로젝트를 만들고 기본 클래스에서 상속되는 클래스를 만들어야 합니다. 이 파생 클래스에서 기본 클래스의 메서드 및 속성을 재정의하여 사용자 지정 기능을 구현합니다.

동일한 솔루션에서 사용자 지정 사용자 인터페이스에 대한 두 번째 클래스 라이브러리 프로젝트를 만듭니다. 배포를 쉽게 하려면 사용자 인터페이스에 대한 별도의 어셈블리를 만드는 것이 좋습니다. 이렇게 하면 연결 관리자 또는 해당 사용자 인터페이스를 독립적으로 업데이트하거나 다시 배포할 수 있기 때문입니다.

강력한 이름 키 파일을 사용하여 빌드 시 생성될 어셈블리에 서명하도록 두 프로젝트를 구성합니다.

DtsTask 특성 적용

앞에서 만든 클래스에 DtsTaskAttribute 특성을 적용하여 해당 클래스를 태스크로 식별합니다. 이 특성은 태스크의 이름, 설명 및 태스크 유형 같은 디자인 타임 정보를 제공합니다.

UITypeName 속성을 사용하여 태스크를 사용자 지정 사용자 인터페이스에 연결합니다. 이 속성에 필요한 공개 키 토큰을 가져오려면 sn.exe -t를 사용하여 사용자 인터페이스 어셈블리 서명에 사용할 키 쌍(.snk) 파일의 공개 키 토큰을 표시할 수 있습니다.

using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
  [DtsTask
  (
   DisplayName = "MyTask",
   IconResource = "MyTask.MyTaskIcon.ico",
   UITypeName = "My Custom Task," +
   "Version=1.0.0.0," +
   "Culture = Neutral," +
   "PublicKeyToken = 12345abc6789de01",
   TaskType = "PackageMaintenance",
   TaskContact = "MyTask; company name; any other information",
   RequiredProductLevel = DTSProductLevel.None
   )]
  public class MyTask : Task
  {
    // Your code here.
  }
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime

<DtsTask(DisplayName:="MyTask", _
 IconResource:="MyTask.MyTaskIcon.ico", _
 UITypeName:="My Custom Task," & _
 "Version=1.0.0.0,Culture=Neutral," & _
 "PublicKeyToken=12345abc6789de01", _
 TaskType:="PackageMaintenance", _
 TaskContact:="MyTask; company name; any other information", _
 RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
  Inherits Task

  ' Your code here.

End Class 'MyTask

사용자 지정 태스크 빌드, 배포 및 디버깅

Integration Services에서 사용자 지정 태스크의 빌드, 배포 및 디버깅 단계는 다른 형식의 사용자 지정 개체에 대해 필요한 단계와 비슷합니다. 자세한 내용은 사용자 지정 개체 빌드, 배포 및 디버깅을 참조하십시오.

Integration Services 아이콘(작은 아이콘) Integration Services 관련 최신 정보 얻기

Microsoft의 최신 다운로드, 아티클, 예제 및 비디오와 커뮤니티의 정선된 솔루션을 보려면 MSDN 또는 TechNet의 Integration Services 페이지를 방문하십시오.

이러한 업데이트에 대한 자동 알림을 받으려면 해당 페이지에서 제공하는 RSS 피드를 구독하십시오.