Задача «Скрипт»
Задача «Скрипт» представляет код для выполнения функций, недоступных в задачах и преобразованиях, предоставляемых средствами служб SQL Server Службы Integration Services. Задача «Скрипт» также позволяет объединять функции в одном скрипте вместо использования нескольких задач и преобразований. Задачу «Скрипт» следует использовать для выполнения операций над пакетом (или над каждым перечисленным объектом), а не над каждой строкой данных.
Задача «Скрипт» позволяет выполнять следующее:
Получать доступ к данным с помощью дополнительных технологий, не поддерживаемых встроенными типами соединений. Например, скрипт может использовать интерфейсы служб каталогов Active Directory (ADSI) для обращения и извлечения имен пользователей из Active Directory.
Создавать счетчики производительности специально для конкретного пакета. Например, скрипт может создать счетчик производительности, обновляемый при выполнении сложной или медленно работающей задачи.
Определять, пусты ли указанные файлы или сколько строк в них содержится, а затем на основании этой оценки влиять на поток управления в пакете. Например, если в файле нет строк, значение переменной равно 0, а управление очередностью, вычисляющее значение, не позволяет задаче «Файловая система» копировать файл.
Если необходимо использовать скрипт для выполнения одинаковых операций над каждой строкой в наборе, следует использовать компонент скрипта, а не задачу «Скрипт». Например, если необходимо определить адекватность почтовых расходов и пропустить записи с очень большими или очень маленькими суммами, следует использовать компонент скрипта. Дополнительные сведения см. в разделе Компонент скрипта.
Если скрипт используется несколькими пакетами, рекомендуется написать пользовательскую задачу, а не использовать задачу «Скрипт». Дополнительные сведения см. в разделе Разработка пользовательской задачи.
Если в пакете решено использовать задачу «Скрипт», необходимо разработать скрипт, используемый задачей, и настроить саму задачу.
Разработка и выполнение скрипта, используемого задачей
Задача «Скрипт» использует средства Microsoft Visual Studio для приложений (VSTA) в качестве среды для разработки скриптов и обработчика, выполняющего эти скрипты.
Среда VSTA располагает всеми стандартными функциями среды Visual Studio, в том числе редактором Visual Studio с выделением цветом, технологией IntelliSense и обозревателем объектов. Среда VSTA использует тот же отладчик, что и другие средства разработки Майкрософт. Точки останова в скрипте прозрачно совмещаются с точками останова в задачах и контейнерах служб Службы Integration Services. Среда VSTA поддерживает языки программирования Microsoft Visual Basic и Microsoft Visual C#.
Чтобы запустить скрипт, на компьютере, где работает пакет, должна быть установлена среда VSTA. При выполнении пакета задача загружает ядро скрипта и запускает его. Обращаться к внешним сборкам .NET в скриптах можно, добавив ссылки на них в проект.
Примечание |
---|
В отличие от предыдущих версий, где можно было указать, являются ли скрипты предварительно скомпилированными, в версии Службы SQL Server 2008 Integration Services (SSIS) и более поздних версиях все скрипты компилируются заранее. Если скрипт компилируется заранее, то во время выполнения не загружается языковая подсистема и пакет выполняется быстрее. Однако заранее скомпилированные двоичные файлы занимают значительное место на диске. |
Настройка задачи «Скрипт»
Задачу «Скрипт» можно настроить следующими способами:
Предоставить пользовательский скрипт, выполняемый задачей.
Укажите в проекте VSTA метод, который службы Службы Integration Services вызывают во время выполнения как точку входа в код задачи «Скрипт».
Укажите язык скрипта.
При необходимости предоставить списки используемых в скрипте переменных чтения и записи и только чтения.
Эти свойства можно задать с помощью конструктора служб Службы SSIS или программно.
Настройка задачи «Скрипт» в конструкторе
В следующей таблице описано событие ScriptTaskLogEntry, которое может быть зарегистрировано для задачи «Скрипт». Событие ScriptTaskLogEntry выбирается для регистрации на вкладке Подробности диалогового окна Настройка журналов служб SSIS. Дополнительные сведения см. в разделах Ведение журналов в службах Integration Services (SSIS) и Пользовательские сообщения для ведения журнала.
Запись журнала |
Описание |
---|---|
ScriptTaskLogEntry |
Сообщает о результатах выполнения операции ведения журнала в скрипте. Задача формирует запись журнала для каждого вызова метода Log объекта Dts. Задача формирует эти записи в момент запуска кода. Дополнительные сведения см. в разделе Ведение журнала в задаче «Скрипт». |
Дополнительные сведения о свойствах, которые можно задать в конструкторе служб Службы SSIS, см. в следующих разделах:
Дополнительные сведения об установке этих свойств в конструкторе служб Службы SSIS см. в следующем разделе:
Программная настройка задачи «Скрипт»
Дополнительные сведения о программной установке этих свойств см. в следующем разделе:
См. также
- Техническая статья How to send email with delivery notification in C# (на английском языке) на сайте shareourideas.com
|