Переменная SSIS, которая прагматично изменилась

Это дополнение к этому вопросу, который был задан ранее без ответа.

У меня проблема с необходимостью периодически обновлять набор из 35 дочерних пакетов служб SSIS с одним родителем. Они все одинаковы, отличаются только тем, какие данные они обрабатывают. Когда я делаю изменение, я удаляю все дочерние элементы и снова вставляю их в одну и ту же папку, обновляя значение переменной, которая сообщает пакету, какой дочерний пакет это так, чтобы он знал, какие данные обрабатывать (имеет значение 1-35),

Моя цель состояла в том, чтобы найти решение, которое позволило бы пакетам каким-либо образом знать, кто они (по имени файла, переменной, конфигурации и т. Д.), Чтобы сократить расходы на обслуживание и настройку для производства после обновления.

Имена файлов пакета сохраняют добавленное числовое значение после вставки (имя_пакета 1, имя_пакета 2,.... имя_пакета X) в той же папке. Я использую развертывание пакетов в SSIS 2012, поэтому у меня нет доступа к имени файла в качестве параметра, как если бы я использовал развертывание проекта. Все пакеты находятся в решении SSDT с родительским пакетом, вызывающим все 35 дочерних элементов. При развертывании пакетов я использую конфигурации в таблице SQL для изменения пути к файлу при его продвижении с сервера на сервер.

Я хотел бы автоматизировать другие вещи, связанные с детьми, но я не смогу, если не решу эту часть в первую очередь. Кроме того, мне нужно добавить еще 15 детей или около того, и это сэкономит много времени.

Любая помощь приветствуется

2 ответа

Вы пытались использовать переменные среды? И запустите пакеты с разными параметрами. Packages_with_Parameter_from_Environments

(Извините, мне запрещено комментировать.)

обновить набор из 35 дочерних пакетов служб SSIS с одним родителем. Они все одинаковы, отличаются только тем, какие данные они обрабатывают.

Кажется, что вы не должны использовать 35 различных копий одного и того же пакета в качестве дочернего, а вместо этого должны просто использовать параметры для решения проблемы.

Если они обрабатываются в имени файла, вы можете использовать параметр имени файла с маской, чтобы вытащить переменные, используя для каждого цикла, передать эти параметры в вызываемый пакет. Если нет, вы можете сохранить параметры обработки в таблице sql, загрузить их с именем и параметрами файла, которые содержат всю вашу информацию, а родительский пакет извлекает эту информацию и использует ее для вызова дочерних пакетов.

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