Редактор циклов по каждому элементу (страница «Коллекция»)
Используйте страницу Коллекция в диалоговом окне Редактор циклов по каждому элементу, чтобы указать тип перечислителя и настроить его.
Дополнительные сведения о контейнере «цикл по каждому элементу» и способах его настройки см. в разделах Контейнер «цикл по каждому элементу» и Как настроить контейнер «цикл по каждому элементу».
Статические параметры
Перечислитель
Выберите тип перечислителя из списка. Параметры этого свойства приведены в следующей таблице.Значение
Описание
Перечислитель с циклом по каждому файлу
Перечисляет файлы. При выборе этого значения в разделе Перечислитель с циклом по каждому файлу отображаются динамические параметры.
Перечислитель по каждому элементу
Перечисляет значения в элементе. При выборе этого значения в разделе Перечислитель элементов Foreach отображаются динамические параметры.
Перечислитель ADO Foreach
Перечисляет таблицы или строки в таблицах. При выборе этого значения в разделе Перечислитель ADO по каждой строке отображаются динамические параметры.
Перечислитель по набору строк схемы ADO.NET
Перечисляет строки схемы. При выборе этого значения в разделе Перечислитель ADO.NET по информации о схеме отображаются динамические параметры.
Перечислитель по объекту из переменной
Перечисляет значения в переменной. При выборе этого значения в разделе Перечислитель Foreach из переменной отображаются динамические параметры.
Перечислитель по набору узлов
Перечисляет узлы в XML-документе. При выборе этого значения в разделе Перечислитель Foreach Nodelist отображаются динамические параметры.
Перечислитель по объектам SMO
Перечисляет объекты SMO. При выборе этого значения в разделе Перечислитель по объектам SMO отображаются динамические параметры.
Выражения
Щелкните или разверните узел Выражения, чтобы посмотреть список существующих выражений свойств. Нажмите кнопку с многоточием (…), чтобы добавить выражение свойства для свойства перечислителя или изменить и оценить существующее выражение свойства.См. также разделы Справочник по выражениям служб Integration Services, Редактор выражений свойств, Построитель выражений
Динамические параметры перечислителя
Перечислитель = перечислитель с циклом по каждому файлу
Используйте перечислитель с циклом по каждому файлу для перечисления файлов в папке. Например: если цикл по каждому элементу включает задачу «Выполнение SQL», то можно использовать перечислитель с циклом по каждому файлу для перечисления файлов, содержащих инструкции SQL, которые выполняются задачей «Выполнение SQL». Перечислитель может быть настроен для обработки вложенных папок.
Содержимое папок и подпапок, которые перечисляются перечислителем с циклом по каждому файлу, может изменяться во время цикла, потому что внешние процессы или задачи добавляют, переименовывают или удаляют файлы во время выполнения цикла. Это означает, что могут возникнуть некоторые непредвиденные ситуации.
Если файлы удаляются, одна задача в цикле по каждому элементу может работать с набором файлов, отличным от файлов, используемых последующими задачами.
Если файлы переименовываются и внешний процесс автоматически добавляет файлы для замены переименованных файлов, то цикл по каждому элементу может работать дважды над одним и тем же содержимым файла.
Если файлы добавляются, то могут быть трудности с определением того, для каких файлов цикл по каждому элементу выполнил работу.
Папка
Укажите путь к корневой папке для перечисления.Обзор
Используйте обзор, чтобы установить месторасположение корневой папки.Файлы
Укажите файлы для перечисления.При указании расширения имени файла перечислитель возвращает также файлы, имеющие такое же расширение и добавленные в конец символы (так же ведет себя команда операционной системы dir, которая тоже сравнивает имена файлов в формате 8.3 на предмет обратной совместимости). Это поведение перечислителя может привести к непредвиденным результатам. Например, при перечислении только файлов Excel 2003 указывается «*.xls». Однако перечислитель возвратит также файлы Excel 2007, поскольку они имеют расширение «.xlsx».
Примечание Используйте символы-шаблоны, чтобы указать файлы, которые необходимо включить в коллекцию.
Полностью заданный
Выберите этот параметр, чтобы получить путь с полной спецификацией к именам файлов. Если в параметрах файлов заданы символы-шаблоны, возвращаемый полный путь соответствует этому фильтру.Только имя
Выберите, чтобы получить только имена файлов. Если в параметрах файлов заданы символы-шаблоны, возвращаемые имена файлов соответствуют этому фильтру.Имя и расширение
Выберите, чтобы получить имена файлов и их расширения. Если в параметрах файлов заданы символы-шаблоны, возвращаемые имена и расширения файлов соответствуют этому фильтру.Обзор подпапок
Выберите, чтобы включить вложенные папки в перечисление.
Перечислитель = перечислитель по каждому элементу
Используйте перечислитель по каждому элементу для перечисления элементов в коллекции. Элементы в коллекции определяются указанием столбцов и значений столбцов. Столбцы в строке определяют элемент. Например: элемент, определяющий исполняемые объекты для запуска задачей «Выполнение процесса» и рабочий каталог этой задачи, содержит два столбца; один предназначен для указания имен исполняемых объектов, другой — для указания рабочего каталога. Количество строк определяет число повторений цикла. Если таблица содержит 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 для перечисления схем, таких как столбцы базы данных AdventureWorks, а задачу «Выполнение SQL» — для извлечения разрешений схемы.
Соединение
Выберите из списка диспетчер соединений ADO.NET или нажмите кнопку <Создать соединение…> для создания нового диспетчера соединений ADO.NET.Важно! Диспетчер соединений ADO.NET должен использовать поставщика данных .NET для OLE DB. При соединении с SQL Server рекомендуемым поставщиком данных является собственный клиент SQL Server, находящийся в области Поставщики .NET для OleDb диалогового окна Диспетчер соединений.
См. также разделыДиспетчер соединений ADO, Настройка диспетчера соединений ADO.NET
Схема
Выберите схему для перечисления.Задать ограничения
Задайте ограничения, которые необходимо применить к указанной схеме.См. также разделОграничения схемы
Перечислитель = перечислитель по объекту из переменной
Перечислитель по объекту из переменной можно использовать для перечисления перечисляемых объектов в указанной переменной. Например: если цикл по каждому элементу включает задачу «Выполнение SQL», которая запускает запрос и сохраняет результаты в переменной, то можно использовать перечислитель по объекту из переменной для перечисления результатов запросов.
Переменная
Выберите переменную из списка или нажмите кнопку <Создать переменную...> для создания новой переменной.См. также разделыПеременные служб Integration Services, Добавить переменную
Перечислитель = перечислитель по набору узлов
Перечислитель по набору узлов можно использовать для перечисления набора 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 можно использовать для перечисления таблиц в базе данных AdventureWorks и выполнения запросов, которые подсчитывают количество строк в каждой таблице.
Соединение
Выберите существующий диспетчер соединений ADO.NET или нажмите <Создать соединение...> для создания нового диспетчера соединений.См. также разделы Диспетчер соединений ADO.NET, Настройка диспетчера соединений ADO.NET
Перечислить
Укажите объект SMO для перечисления.Обзор
Выберите перечисление SMO.См. также разделВыбор перечисления SMO