С изменением конфигурации пакета в 2008 году по сравнению с 2005 годом, когда я указал / ConfigFile что-то.dtsConfig в командной строке, переменные, определенные в пакете, сохраняют свои значения времени разработки вместо использования параметров из файла конфигурации.
Я не совсем уверен, что понимаю, КАК получить внешний конфигурационный файл для использования вообще. Я читал статьи, в которых говорится, что только установленные во время разработки конфигурации перезаписывают загрузку внешнего файла. Означает ли это, что я могу изменить переменные на пустые строки, и тогда они будут перезаписаны? Я не могу удалить переменную полностью! Как насчет целых чисел?
Я видел статьи, в которых упоминается отключение с использованием конфигураций пакета в пакете.
Я могу использовать редактор пакетов служб SSIS или редактор XML, чтобы изменить путь к файлу конфигурации в пакете, а затем он будет использовать настройки этого файла «последними» (независимо от параметра external / ConfigFile), но я не хочу, чтобы смена пакета. Мне нужен один пакет с Test.dtsConfig и Production.dtsConfig, и я могу поменяться местами, не меняя пакет.
Каков рекомендуемый способ сделать это сейчас?
источник
Ответы:
Вы должны принять во внимание, что при запуске BIDS пакет примет сначала значение переменной из файла конфигурации, и только если файл конфигурации не существует, он выдаст предупреждение, и значение будет взято из пакета.
Теперь ситуация в командной строке немного другая. Вы можете иметь следующие ситуации:
запустите пакет в строке cmd без выбранного конфигурационного файла:
запустите пакет в строке cmd без выбранного файла конфигурации, но с переменной, установленной в вызове:
запустите пакет в строке cmd с новым файлом конфигурации (скажем, DEV вместо Prod):
запустите пакет в строке cmd с новым файлом конфигурации и оператором SET в вызове:
Короче говоря, если вы хотите использовать новый конфигурационный файл, вам придется переименовать / переместить старый и вызвать пакет с помощью / configFile. Если этого недостаточно и вы хотите переопределить даже новый файл конфигурации, используйте переменную / SET. Или вы можете обойти любой файл конфигурации и просто использовать операторы / SET в пакетном вызове.
Надеюсь, что это поможет пролить свет на ваши возможности.
источник