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

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сведения по программированию компонента скрипта см. в разделе Расширение потока данных с помощью компонента скрипта. Дополнительные сведения о способах настройки компонента скрипта как источника, преобразования или назначения см. в разделе Developing Specific Types of Script Components. Дополнительные примеры, например назначение «ODBC», в которых показано использование компонента скрипта, см. в разделе Additional Script Component Examples.

Примечание

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

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

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

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

Выбор типа компонента скрипта

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

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

Параметры

Выбор пункта Источник, Назначениеили Преобразование влияет на конфигурацию преобразования «Скрипт» и страницы редактора преобразования «Скрипт».

Редактор преобразования «Скрипт» (страница «Диспетчеры соединений»)

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

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

Параметры

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

Название
Введите уникальное и описательное имя для соединения.

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

Описание
Введите описание для соединения.

Добавление
Добавить еще одно соединение в список Диспетчеры соединений .

Удалить
Удалить выбранное соединение из списка Диспетчеры соединений .

Редактор преобразования «Скрипт» (страница «Входные столбцы»)

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

Примечание

Страница Входные столбцы не отображается для компонентов источника, которые имеют выводы, но не имеют входов.

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

Параметры

Имя входа
Выберите из списка доступных входов.

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

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

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

Тип применения
Указывает, будет ли преобразование "Скрипт" рассматривать каждый столбец как ReadOnly или ReadWrite.

Редактор преобразования «Скрипт» (страница «Входы и выходы»)

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

Примечание

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

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

Параметры

Inputs and outputs
Выберите вход или вывод слева, чтобы посмотреть его свойства в таблице справа. Свойства, доступные для редактирования, варьируются в зависимости от выбора. Многие отображаемые параметры доступны только для чтения. Дополнительные сведения об индивидуальных свойствах см. в следующих разделах:

Общие свойства

Пользовательские свойства преобразований

Добавление выходных данных
Добавить в список дополнительный выход.

Добавить столбец
Выберите папку, в которую необходимо поместить новый выходной столбец, и добавьте его, нажав кнопку Добавить столбец.

Удалить выход
Выберите выход и удалите его, нажав кнопку Удалить выход.

Удалить столбец
Выберите столбец и удалите его, нажав кнопку Удалить столбец.

Редактор преобразования «Скрипт» (страница «Скрипт»)

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

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

Параметры

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

Значение Описание
Описание Опишите преобразование «Скрипт», его назначение.
LocaleID Укажите локаль, предоставляющую сведения о регионе, используемые для сортировки и преобразования даты и времени.
Название Введите описательное имя компонента.
ValidateExternalMetadata Укажите, будет ли преобразование «Скрипт» во время разработки проверять метаданные столбца относительно источников внешних данных. Значение false откладывает проверку до времени выполнения.
ReadOnlyVariables Введите через запятую список переменных, доступ к которым в ходе преобразования «Скрипт» возможен только для чтения.

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

Примечание. В именах переменных учитывается регистр.
ScriptLanguage Язык скрипта, используемый компонентом скрипта.

Чтобы установить значение по умолчанию языка скрипта для компонентов скрипта и задач «Скрипт», воспользуйтесь параметром Язык скрипта страницы Общие диалогового окна Параметры .
UserComponentTypeName Определяет класс ScriptComponentHost и сборку Microsoft.SqlServer.TxScript , поддерживающие инфраструктуру SQL Server .

Изменение скрипта
Чтобы создать или изменить скрипт, воспользуйтесь набором средств Microsoft Visual Studio для работы с приложениями.

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

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