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


Компонент «Сценарий»

Изменения: 17 июля 2006 г.

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

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

Компонент «Сценарий» обеспечивает простой и быстрый путь включения пользовательских функций в поток данных. Однако если планируется многократное использование кода сценария во множестве пакетов, необходимо рассмотреть программирование пользовательского компонента вместо использования компонента «Сценарий». Дополнительные сведения см. в разделе Developing a Custom Data Flow Component.

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

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

Компонент «Сценарий» не поддерживает выход ошибок.

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

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

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

Чтобы писать собственные сценарии, обратитесь к среде Visual Studio для приложений (VSA) из диалогового окна Редактор преобразования «Сценарий». VSA включает все стандартные характеристики среды Visual Studio .NET, такие как редактор Visual Studio с разноцветной подсветкой кода, технологию IntelliSense и обозреватель объектов. Сценарий, используемый компонентом сценария, сохранен в определении пакета. Отдельного файла сценария не существует.

Режимы компонента сценария

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

Сценарий

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

Среда разработки Visual Studio для приложений поддерживает в качестве языка написания сценариев только Microsoft Visual Basic .NET.

Сведения о программировании компонента «Сценарий» см. в разделе Extending the Data Flow with the Script Component. Дополнительные сведения о настройке компонента «Сценарий» как источника, преобразования или назначения см. в разделе Developing Specific Types of Script Components. Дополнительные примеры, например назначение «ODBC», в которых показано использование компонента «Сценарий» см. в разделе Additional Script Component Examples.

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

Можно настроить компонент «Сценарий» для предварительной компиляции сценария. Если сценарий предварительно откомпилирован, он будет быстрее запускаться, а также он может быть запущен в 64-разрядной среде. Однако размер пакета является более большим, когда он содержит предварительно откомпилированные сценарии. Более того, скомпилированный сценарий не подлежит отладке. Необходимо учитывать эти факторы при принятии решения об использовании заранее скомпилированных сценариев.

По умолчанию компонент «Сценарий» настроен для предварительной компиляции сценария, а свойство PreCompile имеет значение True. Свойство PreCompile обычно имеет значение False во время разработки и отладки пакета, а затем перед развертыванием пакета значение устанавливают в True.

Настройка компонента «Сценарий»

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

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

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

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

См. также

Основные понятия

Преобразования служб Integration Services
Использование служб Integration Services на 64-разрядных компьютерах

Другие ресурсы

Extending the Data Flow with the Script Component

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Отмечены ограничения использования языков сценариев.

5 декабря 2005 г.

Измененное содержимое
  • Добавлено описание свойства PreCompile.