|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
10.7. Script Task и ActiveX Script TaskScript Task и ActiveX Script Task в SSIS SQL Server 2005, Visual Studio for Applications В предыдущем разделе была подробно разобрана главная задача Integration Services — Data Flow Task. Однако в SSIS предусмотрено множество других задач, которые могут оказаться очень полезными. Работа с ними выглядит одинаково: вы выбираете задачу в Toolbox, перетаскиваете ее на вкладку Control Flow и настраиваете свойства. Если вам необходимо обеспечить последовательное выполнение задач, то нужно связать их между собой стрелками (внешне они очень похожи на пути Data Flow Task), которые называются ограничениями предшественников (precedence constraints). Подробнее про работу с ними будет рассказано в разд. 10.23. Отметим, что список задач, которые находятся в Toolbox на вкладке Control Flow, не является исчерпывающим. Вы можете написать свой программный модуль и зарегистрировать его в качестве задачи SSIS. В этом случае он станет доступен как пользовательская задача SSIS. Документация по созданию своих задач находится в MSDN. Первые дополнительные задачи, которые рассмотрим подробно, — Script Task и ActiveX Script Task. Обе эти задачи предназначены для одной и той же цели — выполнение в пакете своего программного кода. Их функциональность очень велика. С их помощью вы можете использовать все объектные модели (или классы пространств имен .NET), которые есть на вашем компьютере. Например, вам необходимо выполнить какие-то операции в файловой системе, или обратиться на контроллер домена, или вызвать на выполнение внешнюю утилиту, или изменить параметры самого пакета SSIS в ходе выполнения (например, присвоить нужные значения переменным) — во всех таких случаях вам пригодятся эти задачи. Задача Script Task использует Visual Studio for Applications и язык Visual Basic.NET. Работа с ней очень похожа на работу с преобразованием Script Component в Data Flow Task: вы перетаскиваете эту задачу на вкладку Control Flow, открываете ее свойства и на вкладке Script нажимаете кнопку Design Script (Спроектировать скрипт). Конечно, для комфортной работы с этой задачей необходимо знать объектную модель пакетов SSIS (справка по ней находится в MSDN). Для программной работы с обычным, не .NET-совместимым программным кодом предназначена задача, которая называется ActiveX Script Task. В ней вы можете использовать код скрипта, который будет выполнен в ходе работы пакета. По умолчанию можно использовать только код на языках VBScript и JavaScript (как обычный, так и защищенный цифровой подписью). Если на компьютере установлен интерпретатор для другого скриптового языка (например, для ActivePerl), то можно использовать его. Задача ActiveX Script Task используется для тех же целей, что и Script Task. При этом при прочих равных условиях Script Task обычно работает быстрее, поскольку при сохранении пакета программный код Visual Basic.NET в Script Task компилируется и хранится в откомпилированном виде. Как и в других ситуациях (например, с объектными моделями SMO и SQL-DMO), очевидно, что Microsoft отдает предпочтение .NET-совместимому программному коду перед обычным. Складывается даже ощущение, что удобство работы с ActiveX Script Task специально минимизировано. Фактически вы можете только скопировать в эту задачу текст программного кода. В отличие от ActiveX Script Task в SQL Server 2000 в ActiveX Script Task уже нет списка функций, подсказок по компонентам пакета и т. п. Более того, Microsoft предупреждает, что в следующих версиях SQL Server задачи типа ActiveX Script Task поддерживаться не будут, и не рекомендует использовать их в новых проектах.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||