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