Образец Creating a Custom Increment Task
Изменения: 5 декабря 2005 г.
В образце Increment Task демонстрируется программная реализация пользовательских задач и связанных с ними пользовательских интерфейсов. Этот образец не поддерживается в операционных системах на платформе Itanium. Образец кода реализует следующую функциональность.
- Переопределение базового класса Microsoft.SqlServer.Dts.Runtime.Task.
- Проверка.
- Выполнение.
- Поддержка сохраняемости.
- Поддержка точек останова.
- Пользовательские события.
Этот образец кода во время выполнения входит в цикл. С каждой итерацией увеличивается на единицу частная целочисленная переменная. Свойства InitialValue, IncrementValue и LoopCount управляют обработкой в цикле. Эти свойства устанавливаются при помощи пользовательского интерфейса, реализуемого задачей. Пользовательские точки останова OnBeforeIncrement и OnAfterIncrement и их события обрабатываются до и после увеличения переменной. После того, как задача завершит выполнение, свойство ExecutionResult содержит значение внутренней увеличенной переменной.
Важно! |
---|
Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Корпорация Майкрософт не предоставляет техническую поддержку для этих образцов. |
Выполнение образца
Если вы уже умеете находить, строить и устанавливать образцы программного кода, можно перейти непосредственно к разделу Проверка образца и прочитать о настройке и запуске образца программного кода.
Предварительные требования
Перед запуском этого образца кода убедитесь, что выполняются следующие условия.
- Образец пакета и связанные с ним образцы данных должны быть предварительно установлены на локальном жестком диске. Дополнительные сведения см. в разделе «Установка и компиляция образцов кода служб Integration Services» электронной документации.
- Microsoft Visual Studio 2005.
- Microsoft SQL Server 2005 Integration Services.
Расположение
Если образец кода был установлен в каталог по умолчанию, то он расположен в следующем каталоге.
C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\IncrementTask Sample
Решение для образца кода на языке C# расположено в каталоге CS, а решение на языке Visual Basic — в каталоге VB.
Сведения о двухэтапном процессе установки образцов см. в разделе Установка образцов. Чтобы получить последнюю версию образцов, включая новые, выпущенные после исходной версии SQL Server 2005, см. веб-страницу «Образцы SQL Server 2005 и образцы баз данных (апрель 2006 г.)».
Построение образца
Если в папке Samples еще не создан файл ключа для строгого имени, создайте его с помощью следующей процедуры. На вкладке Подпись диалогового окна Свойства проекта образцов проектов этот файл задан в качестве ключа для подписи сборок.
Создание файла ключа для строгого имени
Чтобы открыть командную строку Microsoft Visual Studio 2005, нажмите кнопку Пуск, последовательно укажите пункты Все программы, Microsoft Visual Studio 2005, Средства Visual Studio и выберите пункт Командная строка Visual Studio 2005.
— или —
Откройте командную строку Microsoft .NET Framework, нажмите кнопку Пуск, последовательно выберите пункты Все программы, Microsoft .NET Framework SDK 2.0 и выберите пункт Командная строка пакета SDK.
Для перехода из текущей папки в папку «Samples» в командной строке используйте команду смены каталога (CD). Созданный файл ключа будет использоваться всеми образцами кодов Microsoft SQL Server 2005.
Примечание. Для определения папки, в которой находятся образцы, нажмите кнопку Пуск, последовательно укажите пункты Все программы, Microsoft SQL Server 2005, Документация и учебные материалы и выберите пункт Каталог образцов. Если использовался каталог установки по умолчанию, то образцы находятся в каталоге «<system_drive>:\Program Files\Microsoft SQL Server\90\Samples». Для создания файла ключа выполните следующую команду в командной строке:
sn -k SampleKey.snk
Важно! Дополнительные сведения о паре ключей для строгого имени см. в разделе «Краткие сведения о безопасности: Строгие имена и безопасность в платформе .NET Framework» в центре для разработчиков .NET в MSDN. Для выполнения следующего шага необходимо извлечь маркер открытого ключа из файла ключа. Для этого сначала необходимо извлечь из ключевого файла открытый ключ, выполнив в командной строке следующую команду:
sn -p SampleKey.snk SampleKeyPublic.snk
Выведите маркер открытого ключа, выполнив в командной строке следующую команду:
sn -t SampleKeyPublic.snk
Скопируйте маркер открытого ключа в буфер обмена или сохраните его для последующего использования.
Построение образца
Откройте Microsoft Visual Studio 2005.
В меню Файл | Открыть выберите пункт Проект и откройте файл IncrementTask.sln в соответствующем каталоге образцов (CS для C# или VB для Visual Basic).
В обозревателе решений выберите файл IncrementTask.cs или IncrementTask.vb.
Найдите в коде атрибут DtsTask. В файле IncrementTask.cs в соответствующей строке кода замените существующее значение маркера открытого ключа в свойстве атрибута UITypeName. Замените значение параметра PublicKeyToken полученным при выполнении предыдущего шага.
Чтобы построить DLL-библиотеку для проекта, выберите в меню Построить пункт Построить IncrementTask.
Установка образца
Этот образец предоставлен на языках Visual Basic и C#. Чтобы отличать сборки для каждой версии образца, к имени выходной сборки добавляется CS или VB. После успешного построения компонента выполните следующие шаги, чтобы добавить его в качестве задачи потока управления в среде Business Intelligence Development Studio.
Установка компонента в глобальный кэш сборок перетаскиванием сборки
Скопируйте сборку (IncrementTaskCS.dll или IncrementTaskVB.dll) в следующую папку: %system%\Program Files\Microsoft SQL Server\90\DTS\Tasks.
Во втором окне откройте каталог для глобального кэша сборок в %system%\assembly. На большинстве компьютеров это каталог C:\Windows\assembly.
Выделите сборку в первом окне, а затем перетащите ее в папку assembly.
Установка компонента в глобальный кэш сборок при помощи программы gacutil.exe
Откройте окно командной строки.
Введите следующую команду для установки версии компонента на языке C# и интерфейса пользователя в глобальный кэш сборок:
gacutil.exe -iF "``C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\CS\bin\Debug\IncrementTaskCS.dll"
Для установки версии компонента на Visual Basic и интерфейса пользователя в глобальный кэш сборок введите следующую команду:
gacutil.exe -iF "``C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\VB\bin\Debug\IncrementTaskVB.dll"
Примечание Для простоты интерфейс этого образца был размещен в том же проекте, что и код задачи. Таким образом, остается лишь скопировать библиотеку в каталог сборки. Если кодирование пользовательского интерфейса производилось в виде отдельного проекта, то библиотеку, содержащую пользовательский интерфейс, необходимо добавить в глобальный кэш сборок вместе с библиотекой кода. В заданный каталог необходимо компилировать только код.
Проверка образца
Образец задачи можно проверить в конструкторе служб SSIS следующим образом.
Использование образца в среде Business Intelligence Development Studio
Откройте среду Business Intelligence Development Studio.
Выберите в меню пункт Файл / Создать / Проект.
В диалоговом окне Создать проект в области Типы проекта выберите Проекты бизнес-аналитики, а затем справа выберите Проект SSIS.
В поле Имя введите текст IncrementTask в качестве имени нового проекта.
В окне Расположение выберите место для сохранения файла. Нажмите кнопку ОК.
В диалоговом окне Обозреватель решений дважды щелкните файл Package.dtsx.
В области элементов Элементы потока управления щелкните правой кнопкой мыши любое место области, где перечислены Элементы потока управления. Выберите пункт Выбрать элементы.
Перейдите на вкладку Элементы потока управления служб SSIS. Прокрутите вниз и установите флажок IncrementTaskCS или IncrementTaskVB. Нажмите кнопку ОК. Задача IncrementTask должна отобразиться в области элементов Элементы потока управления.
Добавьте задачу IncrementTask в поток управления пакета, дважды щелкнув задачу или перетащив ее в область Поток управления.
Когда задача появилась в области конструктора, дважды щелкните ее, чтобы открыть редактор. Введите в поле Цикл подсчета значение 5, а в поле Значение увеличения — значение 1.
Нажмите кнопку Готово.
Запустите пакет.
Когда пакет завершит работу, просмотрите вкладку Результаты выполнения в конструкторе.
Журнал изменений
Версия | Журнал |
---|---|
5 декабря 2005 г. |
|