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


Редактор циклов по каждому элементу (страница «Коллекция»)

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

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

Статические параметры

  • Перечислитель
    Выберите тип перечислителя из списка. Параметры этого свойства приведены в следующей таблице.

    Значение

    Описание

    Перечислитель с циклом по каждому файлу

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

    Перечислитель по каждому элементу

    Перечисляет значения в элементе. При выборе этого значения в разделе Перечислитель элементов Foreach отображаются динамические параметры.

    Перечислитель ADO Foreach

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

    Перечислитель по набору строк схемы ADO.NET

    Перечисляет строки схемы. При выборе этого значения в разделе Перечислитель ADO.NET по информации о схеме отображаются динамические параметры.

    Перечислитель по объекту из переменной

    Перечисляет значения в переменной. При выборе этого значения в разделе Перечислитель Foreach из переменной отображаются динамические параметры.

    Перечислитель по набору узлов

    Перечисляет узлы в XML-документе. При выборе этого значения в разделе Перечислитель Foreach Nodelist отображаются динамические параметры.

    Перечислитель по объектам SMO

    Перечисляет объекты SMO. При выборе этого значения в разделе Перечислитель по объектам SMO отображаются динамические параметры.

  • Выражения
    Щелкните или разверните узел Выражения, чтобы посмотреть список существующих выражений свойств. Нажмите кнопку с многоточием (…), чтобы добавить выражение свойства для свойства перечислителя или изменить и оценить существующее выражение свойства.

    См. также: Справочник по выражениям служб Integration Services, Редактор выражений свойств, Построитель выражений

Динамические параметры перечислителя

Перечислитель = перечислитель с циклом по каждому файлу

Используйте перечислитель с циклом по каждому файлу для перечисления файлов в папке. Например: если цикл по каждому элементу включает задачу «Выполнение SQL», то можно использовать перечислитель с циклом по каждому файлу для перечисления файлов, содержащих инструкции SQL, которые выполняются задачей «Выполнение SQL». Перечислитель может быть настроен для обработки вложенных папок.

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

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

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

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

  • Папка
    Укажите путь к корневой папке для перечисления.

  • Обзор
    Используйте обзор, чтобы установить месторасположение корневой папки.

  • Файлы
    Укажите файлы для перечисления.

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

    С помощью символов-шаблонов (*) укажите файлы, которые необходимо включить в коллекцию. Например, чтобы включить файлы с именами, содержащими «abc», используйте следующий фильтр: *abc*.

    При указании расширения имени файла перечислитель возвращает также файлы, имеющие такое же расширение и добавленные в конец символы (так же работает команда операционной системы dir, которая тоже сравнивает имена файлов в формате 8.3 на предмет обратной совместимости). Это поведение перечислителя может привести к непредвиденным результатам. Например, при перечислении только файлов Excel 2003 указывается «*.xls». Однако перечислитель возвратит также файлы Excel 2007, поскольку они имеют расширение XLSX.

    Можно указать выражение, указав файлы, включаемые в коллекцию. Раскройте Выражения на странице Коллекция, выберите свойство FileSpec и нажмите кнопку с многоточием, чтобы добавить выражение свойства. Дополнительные сведения о динамическом выборе указанных файлов см. на странице SSIS — Dynamically set File Mask: FileSpec

  • Полностью заданный
    Выберите этот параметр, чтобы получить путь с полной спецификацией к именам файлов. Если в параметрах файлов заданы символы-шаблоны, возвращаемый полный путь соответствует этому фильтру.

  • Только имя
    Выберите, чтобы получить только имена файлов. Если в параметрах файлов заданы символы-шаблоны, возвращаемые имена файлов соответствуют этому фильтру.

  • Имя и расширение
    Выберите, чтобы получить имена файлов и их расширения. Если в параметрах файлов заданы символы-шаблоны, возвращаемые имена и расширения файлов соответствуют этому фильтру.

  • Обзор подпапок
    Выберите, чтобы включить вложенные папки в перечисление.

Перечислитель = перечислитель по каждому элементу

Используйте перечислитель по каждому элементу для перечисления элементов в коллекции. Элементы в коллекции определяются указанием столбцов и значений столбцов. Столбцы в строке определяют элемент. Например: элемент, определяющий исполняемые объекты для запуска задачей «Выполнение процесса» и рабочий каталог этой задачи, содержит два столбца; один предназначен для указания имен исполняемых объектов, другой — для указания рабочего каталога. Количество строк определяет число повторений цикла. Если таблица содержит 10 строк, значит, цикл повторяется 10 раз.

Чтобы обновить свойства задачи «Выполнение процесса», можно сопоставить переменные с элементами столбцов с помощью индекса столбца. Первый столбец, определенный в перечислителе элементов, имеет значение индекса 0, второй столбец — 1 и так далее. Значения переменных обновляются при каждом повторении цикла. Свойства Executable и WorkingDirectory задачи «Выполнение процесса» могут затем быть обновлены при помощи выражений свойств, использующих данные переменные.

  • Задайте элементы в коллекции «цикл по каждому элементу»
    Задайте значение для каждого столбца в таблице.

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

    Новая строка автоматически добавляется к таблице после ввода значений в столбцы строки.

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

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

  • Тип данных столбца
    Перечисляет тип данных активного столбца.

  • Удалить
    Выберите элемент и нажмите Удалить, чтобы удалить его из списка.

  • Столбцы
    Нажмите, чтобы настроить тип данных столбца в элементе.

    См. также:Столбцы For Each Item

Перечислитель = перечислитель ADO по каждой строке

Перечислитель ADO по каждой строке можно использовать для перечисления строк или таблиц в объекте ADO или ADO.NET, который хранится в переменной. Например: если цикл по каждому элементу включает задачу «Скрипт», которая записывает набор данных в переменную, можно использовать перечислитель ADO по каждой строке для перечисления строк в наборе данных. Если переменная содержит набор данных ADO.NET, то перечислитель может быть настроен на перечисление строк в нескольких таблицах или на перечисление самих таблиц.

  • Переменная источника объекта ADO
    Выберите пользовательскую переменную из списка или нажмите кнопку <Создать переменную...> для создания новой переменной.

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

    Переменная должна иметь тип данных Object; в противном случае возникнет ошибка.

    См. также:Переменные служб Integration Services, Добавить переменную

  • Строки в первой таблице
    Выберите для перечисления только строк в первой таблице.

  • Строки во всех таблицах (только набор данных ADO.NET)
    Выберите для перечисления строк во всех таблицах. Данный параметр доступен, только если все объекты для перечисления являются элементами одного набора данных ADO.NET.

  • Все таблицы (только для наборов данных ADO.NET)
    Выберите для перечисления только таблиц.

Перечислитель = перечислитель по набору строк схемы ADO.NET

Перечислитель по набору строк схемы ADO.NET можно использовать для перечисления схем для указанного источника данных. Например, если цикл по каждому элементу содержит задачу «Выполнение SQL», то можно использовать перечислитель по каждому набору строк схемы ADO.NET для перечисления схем, таких как столбцы базы данных База данных AdventureWorks2008R2, а задачу «Выполнение SQL» — для извлечения разрешений схемы.

  • Соединение
    Выберите из списка диспетчер соединений ADO.NET или нажмите кнопку <Создать соединение…> для создания нового диспетчера соединений ADO.NET.

    Важное примечаниеВажно!

    Диспетчер соединений ADO.NET должен использовать поставщика данных .NET для OLE DB. При соединении с SQL Server рекомендуемым поставщиком данных является собственный клиент SQL Server, находящийся в области Поставщики .NET для OleDb диалогового окна Диспетчер соединений.

    См. также:Диспетчер соединений ADO, Настройка диспетчера соединений ADO.NET

  • Схема
    Выберите схему для перечисления.

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

    См. также:Ограничения схемы

Перечислитель = перечислитель по объекту из переменной

Перечислитель по объекту из переменной можно использовать для перечисления перечисляемых объектов в указанной переменной. Например: если цикл по каждому элементу включает задачу «Выполнение SQL», которая запускает запрос и сохраняет результаты в переменной, то можно использовать перечислитель по объекту из переменной для перечисления результатов запросов.

Перечислитель = перечислитель по набору узлов

Перечислитель по набору узлов можно использовать для перечисления набора XML-узлов, которые являются результатом применения выражения XPath к XML-файлу. Например: если цикл по каждому элементу включает задачу «Скрипт», то перечислитель по набору узлов можно использовать для передачи от XML-файла к задаче «Скрипт» значения, которое удовлетворяет критерию выражения XPath.

Выражение XPath, применяемое к XML-файлу, является внешней операцией XPath, сохраненной в свойстве OuterXPathString. Если тип перечисления XPath установлен в ElementCollection, то перечислитель по набору узлов может применять внутреннее выражение XPath, сохраненное в свойстве InnerXPathString, к коллекции элементов.

Дополнительные сведения по работе с XML-документами и данными см. в разделе «Employing XML in the .NET Framework» в библиотеке MSDN.

  • DocumentSourceType
    Выберите тип источника XML-документа. Параметры этого свойства приведены в следующей таблице.

    Значение

    Описание

    Прямой ввод

    Задайте источник для XML-документа.

    Соединение с файлом

    Выберите файл, содержащий XML-документ.

    Переменная

    В качестве источника задайте переменную, содержащую XML-документ.

  • DocumentSource
    Если параметр DocumentSourceType имеет значение Прямой ввод, укажите код XML или нажмите кнопку с многоточием (…), чтобы указать XML при помощи диалогового окна Редактор исходного текста документа.

    Если типом источника документа (DocumentSourceType) является Соединение с файлом, выберите диспетчер подключения файлов или нажмите кнопку <Создать соединение...> для создания нового диспетчера соединений.

    См. также:Диспетчер соединения файлов, Редактор диспетчера подключения файлов

    Если типом источника документа DocumentSourceType является Переменная, выберите существующую переменную или нажмите <Создать переменную...> для создания новой переменной.

    См. также:Переменные служб Integration Services, Добавить переменную.

  • EnumerationType
    Выберите тип перечисления из списка. Параметры этого свойства приведены в следующей таблице.

    Значение

    Описание

    Navigator

    Перечисление с помощью компонента XPathNavigator.

    Node

    Перечисление узлов, возвращенных операцией XPath.

    NodeText

    Перечисление текстовых узлов, возвращенных операцией XPath.

    ElementCollection

    Перечисление узлов элементов, возвращенных операцией XPath.

  • OuterXPathStringSourceType
    Выберите тип источника строки XPath. Параметры этого свойства приведены в следующей таблице.

    Значение

    Описание

    Прямой ввод

    Задайте источник для XML-документа.

    Соединение с файлом

    Выберите файл, содержащий XML-документ.

    Переменная

    В качестве источника задайте переменную, содержащую XML-документ.

  • OuterXPathString
    Если OuterXPathStringSourceType имеет значение Прямой ввод, укажите строку XPath.

    Если параметр OuterXPathStringSourceType имеет значение Соединение с файлом, выберите диспетчер подключения файлов или нажмите кнопку <Создать соединение...> для создания нового диспетчера соединений.

    См. также:Диспетчер соединения файлов, Редактор диспетчера подключения файлов

    Если OuterXPathStringSourceType имеет значение Переменная, выберите существующую переменную или нажмите <Создать переменную...> для создания новой переменной.

    См. также:Переменные служб Integration Services, Добавить переменную.

  • InnerElementType
    Если EnumerationType имеет значение ElementCollection, выберите из списка тип внутреннего элемента.

  • InnerXPathStringSourceType
    Выбрать тип источника внутренней строки XPath. Параметры этого свойства приведены в следующей таблице.

    Значение

    Описание

    Прямой ввод

    Задайте источник для XML-документа.

    Соединение с файлом

    Выберите файл, содержащий XML-документ.

    Переменная

    В качестве источника задайте переменную, содержащую XML-документ.

  • InnerXPathString
    Если InnerXPathStringSourceType имеет значение Direct input, укажите строку XPath.

    Если параметр InnerXPathStringSourceType имеет значение Соединение с файлом, выберите диспетчер подключения файлов или нажмите кнопку <Создать соединение...> для создания нового диспетчера соединений.

    См. также:Диспетчер соединения файлов, Редактор диспетчера подключения файлов

    Если InnerXPathStringSourceType имеет значение Переменная, выберите существующую переменную или нажмите <Создать переменную...> для создания новой переменной.

    См. также:Переменные служб Integration Services, Добавить переменную.

Перечислитель = перечислитель по объектам SMO

Перечислитель по объектам SMO используется для перечисления объектов SMO. Например, если цикл по каждому элементу содержит задачу «Выполнение SQL», то перечислитель по объектам SMO можно использовать для перечисления таблиц в базе данных База данных AdventureWorks2008R2 и выполнения запросов, которые подсчитывают количество строк в каждой таблице.

Внешние ресурсы