Поделиться через


Создание пользовательской задачи

Шаги, необходимые для создания пользовательской задачи, аналогичны шагам, необходимым для создания любого другого пользовательского объекта служб Integration Services.

  • Создайте новый класс, наследующий базовый класс. Базовым классом для задачи является класс Task.

  • Примените к классу атрибут, определяющий тип объекта. Атрибутом для задачи является атрибут DtsTaskAttribute.

  • Переопределите реализацию методов и свойств базового класса. Для задачи это методы Validate и Execute.

  • При необходимости разработайте нестандартный пользовательский интерфейс. Для задачи необходим класс, реализующий интерфейс IDtsTaskUI.

Рабочий образец пользовательской задачи см. в образцах служб Integration Services в разделе Codeplex.

Приступая к работе с пользовательской задачей

Создание проектов и классов

Поскольку все управляемые задачи являются наследниками базового класса 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

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу служб Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.