Перечислитель цикла ForEach пуст — ошибка SSIS при выполнении через CMD через VBA

В настоящее время я работаю над пакетом SSIS, который должен запускаться через CMD через VBA (Access). Все, что делает пакет, это читает кучу файлов из папки и загружает их в таблицу в SQL Server. Сложность заключается в том, что эта папка, из которой пакет должен читать файлы, является динамической. Спасибо STACKOVERFLOW, я нашел способ сделать его динамическим, и пакет работает хорошо при выполнении из MS VS2008.

ИНТЕРЕСНАЯ ЧАСТЬ: В качестве последней ссылки для завершения цепочки я использовал следующее в cmd

dtexec \f "C:\Desktop\SSISAppend.dtsx" /Set "\Package.Variables[User::Directory].Property[Value];C:\Desktop\AppendFiles"

Выдает ошибку: Код: 0x8001C004 Описание: Перечислитель для каждого файла пуст. Перечислитель For Each File не нашел файлов, соответствующих шаблону файла, или указанный каталог был пуст.

Я использовал следующие переменные: «Directory» против DIRECTORY в COLLECTION>>EXPRESSIONS в перечислителе ForEachfile, «FilePath» (с индексом 0) в сопоставлениях переменных.

При выполнении через MS VS2008 пакет работает хорошо, независимо от местоположения, указанного в переменной DIRECTORY.

Благодарим за помощь и дайте мне знать, если вам нужна дополнительная информация.


person potluri    schedule 30.07.2014    source источник
comment
Имеет ли пользователь, запускающий пакет, достаточные права на эту папку?   -  person Joost    schedule 31.07.2014
comment
да, у пользователя есть доступ для чтения/записи к папке, на самом деле пакет работает хорошо при выполнении из SSIS (MS VS) напрямую, но проблема возникает при попытке выполнить из CMD   -  person potluri    schedule 31.07.2014


Ответы (1)


Думая в том же духе, что и комментарий @Joost, в отношении разрешений через Access/CMD.

Может быть, вы можете попробовать использовать RUNAS при запуске CMD.

С помощью команды RUNAS http://technet.microsoft.com/en-us/library/cc771525.aspx :

person Tak    schedule 05.08.2014