Задача «Скрипт»
Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure
Задача "Скрипт" предоставляет код для выполнения функций, недоступных во встроенных задачах и преобразованиях, предоставляемых службами SQL Server Integration Services. Задача «Скрипт» также позволяет объединять функции в одном скрипте вместо использования нескольких задач и преобразований. Задачу «Скрипт» следует использовать для выполнения операций над пакетом (или над каждым перечисленным объектом), а не над каждой строкой данных.
Задача «Скрипт» позволяет выполнять следующее:
Получать доступ к данным с помощью дополнительных технологий, не поддерживаемых встроенными типами соединений. Например, скрипт может использовать интерфейсы служб каталогов Active Directory (ADSI) для обращения и извлечения имен пользователей из Active Directory.
Создавать счетчики производительности специально для конкретного пакета. Например, скрипт может создать счетчик производительности, обновляемый при выполнении сложной или медленно работающей задачи.
Определять, пусты ли указанные файлы или сколько строк в них содержится, а затем на основании этой оценки влиять на поток управления в пакете. Например, если в файле нет строк, значение переменной равно 0, а управление очередностью, вычисляющее значение, не позволяет задаче «Файловая система» копировать файл.
Если необходимо использовать скрипт для выполнения одинаковых операций над каждой строкой в наборе, следует использовать компонент скрипта, а не задачу «Скрипт». Например, если необходимо определить адекватность почтовых расходов и пропустить записи с очень большими или очень маленькими суммами, следует использовать компонент скрипта. Дополнительные сведения см. в статье Script Component.
Если скрипт используется несколькими пакетами, рекомендуется написать пользовательскую задачу, а не использовать задачу «Скрипт». Дополнительные сведения см. в разделе Разработка пользовательской задачи.
Если в пакете решено использовать задачу «Скрипт», необходимо разработать скрипт, используемый задачей, и настроить саму задачу.
Разработка и выполнение скрипта, используемого задачей
Задача "Скрипт" использует набор средств Microsoft Visual Studio Tools для работы с приложениями (VSTA) в качестве среды, в которой записываются скрипты и подсистема, выполняющие эти скрипты.
VSTA предоставляет все стандартные функции среды Visual Studio, такие как редактор Visual Studio с цветом, IntelliSense и обозреватель объектов. VSTA также использует тот же отладчик, что и другие средства разработки Майкрософт. Точки останова в скрипте работают без проблем с точками останова в задачах и контейнерах Служб Integration Services. VSTA поддерживает языки программирования Microsoft Visual Basic и Microsoft Visual C#.
Чтобы запустить скрипт, на компьютере, где работает пакет, должна быть установлена среда VSTA. При выполнении пакета задача загружает ядро скрипта и запускает его. Обращаться к внешним сборкам .NET в скриптах можно, добавив ссылки на них в проект. В настоящее время мы не поддерживаем ссылки на сборки .NET Core и .NET Standard.
Примечание.
В отличие от предыдущих версий, где можно указать, были ли предварительно компилированы скрипты, все скрипты предварительно компилируются в SQL Server 2008 Integration Services (SSIS) и более поздних версиях. Если скрипт компилируется заранее, то во время выполнения не загружается языковая подсистема и пакет выполняется быстрее. Однако заранее скомпилированные двоичные файлы занимают значительное место на диске.
Настройка задачи «Скрипт»
Задачу «Скрипт» можно настроить следующими способами:
Предоставить пользовательский скрипт, выполняемый задачей.
Укажите метод в проекте VSTA, который среда выполнения Служб Integration Services вызывает в качестве точки входа в код задачи скрипта.
Укажите язык скрипта.
При необходимости предоставить списки используемых в скрипте переменных чтения и записи и только чтения.
Эти свойства можно задать с помощью конструктора служб SSIS или программно.
Настройка задачи «Скрипт» в конструкторе
В следующей таблице описано событие ScriptTaskLogEntry , которое может быть зарегистрировано для задачи «Скрипт». Событие ScriptTaskLogEntry выбирается для регистрации на вкладке Подробности диалогового окна Настройка журналов служб SSIS . Дополнительные сведения см. в статье Ведение журналов в службах Integration Services (SSIS).
Запись журнала | Description |
---|---|
ScriptTaskLogEntry | Сообщает о результатах выполнения операции ведения журнала в скрипте. Задача формирует запись журнала для каждого вызова метода Log объекта Dts . Задача формирует эти записи в момент запуска кода. Дополнительные сведения см. в разделе ведения журналов в задаче «скрипт». |
Дополнительные сведения о свойствах, которые можно задать в конструкторе служб SSIS, см. в следующих разделах:
Дополнительные сведения о настройке этих свойств в конструкторе служб SSIS см. в следующем разделе:
Программная настройка задачи «Скрипт»
Дополнительные сведения о программной установке этих свойств см. в следующем разделе:
Редактор задачи «Скрипт» (страница «Общие»)
Страница Общие диалогового окна Редактор задачи «Скрипт» позволяет дать имя и описание задаче «Скрипт».
Дополнительные сведения о задаче «Скрипт» см. в разделах Script Task и Настройка задачи «Скрипт» в редакторе задачи «Скрипт». Дополнительные сведения о программировании задачи «Скрипт» см. в разделе Extending the Package with the Script Task.
Параметры
Имя
Задайте уникальное имя для задачи «Скрипт». Это имя используется в качестве метки для значка задачи.
Примечание.
Имена задач в пределах пакета должны быть уникальными.
Description
Введите описание задачи «Скрипт».
Редактор задачи «Скрипт» (страница «Скрипт»)
Используйте страницу Скрипт в диалоговом окне Редактор задачи «Скрипт» , чтобы задать свойства скрипта и указать переменные, к которым скрипт будет иметь доступ.
Примечание.
В SQL Server 2008 Integration Services (SSIS) и более поздних версиях все скрипты предварительно компилируются. В предыдущих версиях для предварительной компиляции необходимо было установить свойство PrecompileScriptIntoBinaryCode .
Дополнительные сведения о задаче «Скрипт» см. в разделах Script Task и Настройка задачи «Скрипт» в редакторе задачи «Скрипт». Дополнительные сведения о программировании задачи «Скрипт» см. в разделе Extending the Package with the Script Task.
Параметры
ScriptLanguage
Выберите язык сценариев для задачи, Microsoft Visual Basic или Microsoft Visual C#.
Изменить значение свойства ScriptLanguage для задачи после создания скрипта нельзя.
Чтобы установить значение по умолчанию языка скрипта для задачи «Скрипт», воспользуйтесь параметром Язык скрипта страницы Общие диалогового окна Параметры . Дополнительные сведения см. в разделе General Page.
EntryPoint
Укажите метод, который среда выполнения Integration Services вызывает в качестве точки входа в код задачи "Скрипт". Указанный метод должен находиться в классе ScriptMain проекта набор средств Microsoft Visual Studio Tools для работы с приложениями (VSTA) Класс ScriptMain является классом scriptMain по умолчанию, созданным шаблонами скриптов.
Для изменения имени метода в проекте VSTA следует поменять значение свойства EntryPoint .
ReadOnlyVariables
Введите через запятую список переменных "только для чтения", которые доступны для скрипта, или нажмите кнопку с многоточием (...) и выберите переменные в диалоговом окне Выбор переменных.
Примечание.
В именах переменных учитывается регистр.
ReadWriteVariables
Введите через запятую список переменных "для чтения и записи", которые доступны для скрипта, или нажмите кнопку с многоточием (...) и выберите переменные в диалоговом окне Выбор переменных.
Примечание.
В именах переменных учитывается регистр.
Изменение скрипта
Открывает среду VSTA IDE, в которой можно создать или изменить скрипт.
См. также
- Техническая статья oтправка электронной почты с уведомлением доставки в C#на сайте shareourideas.com