Бөлісу құралы:


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

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

Компонент скрипта использует набор средств Microsoft Visual Studio Tools для работы с приложениями (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) и более поздних версиях. Если скрипт компилируется заранее, то во время выполнения не загружается языковая подсистема и пакет выполняется быстрее. Однако заранее скомпилированные двоичные файлы занимают значительное место на диске.

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

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

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

    Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

Параметры

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

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

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

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

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

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

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

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

Примечание.

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

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

Параметры

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

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

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

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

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

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

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

Примечание.

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

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

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

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

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