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


Компонент скрипта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Преобразования служб Integration Services

Расширение потока данных с помощью компонента скрипта

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

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


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