Поделиться через


Компонент сценария

Компонент сценария размещает сценарий и позволяет пакету включать и выполнять пользовательский код сценария. Можно использовать компонент сценария в пакетах для следующих целей.

  • Применить множественные преобразования к данным, вместо того, чтобы использовать множественные преобразования в потоке данных. Например, сценарий может добавить значения в два столбца и затем вычислить среднее значение суммы.

  • Получить доступ к бизнес-правилам в существующей сборке .NET. Например, сценарий может применить бизнес-правило, определяющее диапазон правильных значений в столбце Income.

  • Использовать пользовательские формулы и функции в дополнение к функциям и операторам, которые предоставляет грамматика выражений служб Integration Services. Например, можно проверить номера кредитных карт, используя формулу LUHN.

  • Проверить данные столбца на правильность и не учитывать записи, содержащие недопустимые данные. Например, сценарий может определять адекватность почтовых расходов и пропускать записи с очень большими или очень маленькими суммами.

Компонент сценария обеспечивает простой и быстрый путь включения пользовательских функций в поток данных. Однако, если планируется многократное использование кода сценария во множестве пакетов, необходимо рассмотреть программирование пользовательского компонента вместо использования компонента сценария. Дополнительные сведения см. в разделе Разработка пользовательского компонента потока данных.

ПримечаниеПримечание

Если компонент сценария содержит сценарий, пытающийся прочесть значение столбца, равное NULL, то при запуске пакета компонент сценария завершится с ошибкой. Рекомендуется, чтобы сценарий использовал метод IsNull для определения того, является ли столбец значением NULL, перед попыткой чтения значения столбца.

Компонент сценария может быть использован как источник, преобразование или назначение. Компонент поддерживает один вход и множество выходов. В зависимости от того, как компонент используется, он поддерживает либо вход, либо выход, либо и вход и выход одновременно. Сценарий вызывается каждой строкой на входе или выходе.

  • Если используется как источник, компонент сценария поддерживает множество выходов.

  • Если используется как преобразование, компонент сценария поддерживает один вход и множество выходов.

  • Если используется как назначение, компонент сценария поддерживает один вход.

Компонент сценария не поддерживает выход ошибок.

После того как выбран подходящий компонент сценария для пакета, нужно настроить входы и выходы, разработать сценарий, используемый компонентом, и настроить сам компонент.

Основные сведения о режимах компонента сценария

В конструкторе служб SSIS компонент сценария имеет два режима: режим редактирования метаданных и режим редактирования кода. В режиме редактирования метаданных можно добавлять и изменять входы и выходы компонента сценария, но нельзя писать код. После того, как все входы и выходы настроены, переключаетесь в режим редактирования кода, чтобы написать сценарий. Компонент сценария автоматически создает базовый код из метаданных входов и выходов. Если пользователь изменил метаданные после того, как компонент сценария создал базовый код, то пользовательский код больше не может быть откомпилированным, потому что измененный базовый код может быть несовместим с пользовательским кодом.

Разработка сценария, используемого компонентом

Компонент сценария использует для создания сценариев среду Microsoft Visual Studio Tools for Applications (VSTA). Доступ к VSTA осуществляется из Редактора преобразования «Сценарий». Дополнительные сведения см. в разделе Редактор преобразования «Сценарий» (страница «Сценарий»).

Компонент сценария содержит проект VSTA, который включает автоматически создающийся класс, называемый ScriptMain, представляющий метаданные компонента. Например, если компонент сценария используется как преобразование, имеющее три выхода, ScriptMain содержит метод для каждого выхода. ScriptMain — это точка входа в сценарий.

Среда VSTA располагает всеми стандартными возможностями среды Visual Studio, в том числе редактором Visual Studio с цветовым выделением, технологией IntelliSense и браузером объектов. Сценарий, используемый компонентом сценария, сохранен в определении пакета. При конструировании пакета код сценария временно записывается в файл проекта.

Среда VSTA поддерживает языки программирования Microsoft Visual Basic 2008 и Microsoft Visual C# 2008.

Сведения по программированию компонента сценария см. в разделе Расширение потока данных с помощью компонента сценария. Дополнительные сведения о способах настройки компонента сценария как источника, преобразования или назначения см. в разделе Разработка компонентов сценария определенных типов. Дополнительные примеры, например назначение «ODBC», в которых показано использование компонента сценария см. в разделе Дополнительные примеры компонента скрипта.

ПримечаниеПримечание

В отличие от предыдущих версий, где можно было указать, являются ли сценарии предварительно скомпилированными, в версии SQL Server 2008 Integration Services (SSIS) все сценарии компилируются заранее. Если сценарий компилируется заранее, то во времени выполнения не загружается языковая подсистема и пакет выполняется быстрее. Однако заранее скомпилированные двоичные файлы занимают значительное место на диске.

Настройка компонента сценария

Можно настроить компонент сценария следующими способами.

  • Выберите входные столбцы, на которые необходимо ссылаться.

    ПримечаниеПримечание

    При использовании конструктора служб SSIS можно настроить только один вход.

  • Предоставьте сценарий, выполняемый компонентом.

  • Укажите язык сценария.

  • Предоставьте разделенные запятыми списки переменных с разрешениями «только чтение» и «чтение и запись».

  • Добавьте больше выходов, а также выходные столбцы, которым сценарий присваивает значения.

Свойства задаются через конструктор служб SSIS или программно.

Настройка компонента сценария в конструкторе

Дополнительные сведения о свойствах, которые можно установить в диалоговом окне Редактор преобразования «Сценарий», см. в следующих разделах:

Дополнительные сведения об установке этих свойств в конструкторе служб SSIS см. в следующем разделе:

Программная настройка компонента сценария

Дополнительные сведения о свойствах, которые можно установить в окне Свойства или программно, см. в следующих разделах:

Дополнительные сведения о настройке свойств см. в следующих разделах.

Значок служб Integration Services (маленький) Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.