Папка цикла Forex служб SSIS как переменная - PullRequest
14 голосов
/ 29 марта 2011

Мне нужно установить папку в цикле Foreach в переменную папку. Я попытался просто добавить местоположение в конфигурацию моего пакета, и оно действовало так, как будто оно работало, но когда я открыл файл конфигурации, его там не было.

Я установил Foreach File Enumerator с жестко закодированным путем и получил полное имя файла. В моей переменной Mappings есть переменная CurrentFile с индексом 0.

Итак, я изменил его на Перечислитель Переменных с Переменным, с переменной SourceFiles \ server \ path *. *. Но теперь он жалуется на тот CurrentFile, что тип присваиваемого значения отличается от типа переменной (строка).

Я предполагаю, что мне нужно каким-то образом использовать выражения с перечислителем на вкладке "Коллекции"? Как?

  • Общие сведения: контейнер "цикл по каждому элементу"
  • Коллекция: Foreach от Varialbe Enumerator; Переменная is User :: SourcePath; Выражения (не используются)
  • Отображения переменных: Пользователь переменной :: CurrentFile, Индекс 0
  • Выражения: (не используется)

Ошибка: 0xC001F009 в MyPackage: тип значения, присваиваемого переменной «User :: CurrentFile», отличается от текущего типа переменной. Переменные не могут изменять тип во время выполнения. Типы переменных являются строгими, за исключением переменных типа Object. Ошибка: 0xC001C012 в контейнере цикла по каждому элементу: переменная ForEach Преобразование числа 1 в переменную «User :: CurrentFile» не может быть применено.

1 Ответ

20 голосов
/ 30 марта 2011

Сотрудник показал мне, как заставить его работать. НЕ меняйте его на «Foreach from Enumerator», но оставляйте его как «Foreach File Enumerator».

  • Коллекция: Foreach File Enumerator; положить в папку и файлы в конфигурации Enumerator. В разделе «Выражения» установите в качестве «Каталога» пользовательскую переменную, указывающую на каталог (она будет иметь приоритет перед введенной вами папкой); установите FileSpec для пользовательской переменной, указывающей на файлы (которая будет иметь приоритет перед файлами, которые вы ввели).
Directory @[User::SourcePath]  (value: \\server\directory)
FileSpec @[User::CopyFileName] (value: *.*)
  • Отображение переменных: Пользователь переменной :: Текущий файл, индекс 0
  • Выражения: (не используется)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...