2016-03-23 2 views
5

Это добавление к this question, о котором раньше не задавали ответа.SSIS Переменная, которая прагматически изменена

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

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

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

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

любая помощь

ответ

0

Пытались использовать переменные окружения? И запустите пакеты с различными параметрами. Packages_with_Parameter_from_Environments

(К сожалению, я не имею права комментировать.)

+0

Параметры для развертывания проекта, я использую развертывание пакетов. Если бы у меня было развертывание проекта, я мог бы использовать параметр filename для решения проблемы. К сожалению, развертывание проекта для меня не является вариантом. Благодаря! –

0

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

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

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

+0

Я думаю, что есть небольшое недоразумение. Im обрабатывает данные в таблице sql со сценарием. Чтобы ускорить процесс, я разделяю список вещей для обработки между пакетами для детей. Эти пакеты для детей - это имена файлов, на которые ссылается Im. Когда я обновляю пакеты, я сообщаю пакет, какой именно номер, поэтому он знает, в какой части списка он должен обрабатываться. Я пытаюсь устранить нумерацию пакетов. –

+0

Да .. и для этого, вместо того, чтобы помещать имена файлов в пакет, вы имеете родительский пакет, разбитый на каждого из 35 детей через контрольную таблицу. Не говорите им в пакете. Параметрируйте его в дочерних пакетах, родитель передал им эту информацию. – xenapan