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


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

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

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

  • Создайте новый класс, наследующий базовый класс. Для каждой задачи используется базовый класс Microsoft.SqlServer.Dts.Runtime.Task.

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

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

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

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

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

Поскольку все управляемые задачи являются наследниками базового класса Microsoft.SqlServer.Dts.Runtime.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 аналогичны шагам, необходимым для других типов пользовательских объектов. Дополнительные сведения см. в разделе Сборка, развертывание и отладка пользовательских объектов.

См. также

Создание пользовательской задачи
Создание кода пользовательской задачи
Разработка пользовательского интерфейса для пользовательской задачи