Пакет служб SSIS не может найти параметр в командной строке

У меня есть файл DTSX, который должен иметь параметризованный запрос. Запрос происходит в "DataFlowTask" здесь:

Который вызывает задачу потока данных здесь:

Вот этот параметр:

и запрос:

Сборка проекта - если я удаляю параметр, он работает нормально. Однако у меня возникают проблемы с настройкой параметра. Я пробовал, вероятно, сотню комбинаций, в том числе:

dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /set "\Package.Variables[OrderDate].Value";"1/1/2000"
dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /set "\Package.Variables[OrderDate].Value";"1/1/2000"
dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /set "\Package.Variables[User::OrderDate].Value";"1/1/2000"
dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /set "\Package.Variables[$Package::OrderDate].Value";"1/1/2000"
dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /set "\Package\DataFlowTask.Variables[$Package::OrderDate].Value";"1/1/2000"
dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /set "\Package\DataFlowTask.Variables[User::OrderDate].Value";"1/1/2000"
dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /set "\Package.Variables[OrderDate].Value;1/1/2000"

И всякие другие комбинации. Есть ошибки: "Конфигурация процесса не смогла установить пункт назначения по пути пакета..." или "Путь к пакету ссылается на объект, который не может быть найден"

Я полностью потерян - что мне не хватает?

1 ответ

Решение

Как показывает ваш скриншот, OrderDate это параметр пакета, а не переменная. Итак, чтобы передать его с помощью dtexec, вам нужно назвать его так

dtexec /f "D:\[location]\ExportOrdersWithParameter.dtsx" /Parameter 
"$Package::OrderDate(DateTime)";2008-12-22

Могут возникнуть проблемы с тем, как ваша система анализирует значения DateTime; возможно, вам лучше указать дату в формате ГГГГММДД или ГГГГ-ДД-ММ.

Другие вопросы по тегам