Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS ветвление потока управления данных / 12 сообщений из 12, страница 1 из 1
17.01.2018, 12:05
    #39585671
IDVT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
Всем привет!
Подскажите пожалуйста. Имеется родительский пакет, который запускает некоторое количество экземпляров дочернего пакета (параллельно обрабатываются) с определенными параметрами. Возникла потребность добавить в поток управления дочернего пакета логику обработки задач потоков данных (ветвление).

На картинке отображены два компонента скрипта «А», «С» и задача потока данных «В».
Объект «В» должен выполняться по условию (входной параметр дочернего пакета), тут все отлично, но в результате если условие False (задача потока данных не выполняется), то объект «Скрипт С» не когда не выполнится, ждет ответа от объекта «В». Вроде все тривиально, пытался обыграть, добавляя условия на каждую ветвь соединения контейнеров, но результата достичь не удалось. Что именно я не так делаю?
...
Рейтинг: 0 / 0
17.01.2018, 12:28
    #39585701
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
у тебя для перехода требуется безусловное выполнение B - таки В не выполнилось - С и не запускается.
таки покопаться с переходом B-C? )) или таки покjпаться с переход A_C ?)) например сделать два перехода A-C один для истина f(x)? второй для не истина f(x)? ))
...
Рейтинг: 0 / 0
17.01.2018, 12:34
    #39585710
IDVT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
Так уже все варианты перепробовал, даже от безысходности добавил условие на «В» -> «С». Но результата нет, он есть только при выполнении Fx() = true….
...
Рейтинг: 0 / 0
17.01.2018, 12:41
    #39585716
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
IDVTТак уже все варианты перепробовал, даже от безысходности добавил условие на «В» -> «С». Но результата нет, он есть только при выполнении Fx() = true….
а вот тут ты что-то не так делаешь - ибо таки - должно работать - проверяй свою fx() точнее not fx()
...
Рейтинг: 0 / 0
17.01.2018, 12:42
    #39585717
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
тупо для проверки поставь fx() = 1>2 и not fx() = 1<2
...
Рейтинг: 0 / 0
17.01.2018, 13:32
    #39585776
IDVT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
Хрень какая-то, все работает, если контейнеры "Скрипт" заменить на "задача потока данных". Но от Скрипт'ов отказаться не могу, пока сделал так: убрал все ограничения на связи и у контейнера "В" (из примера) задал выражение свойства Disable по ранее используемой Fx() с инверсией, в таком варианте все поехало.
...
Рейтинг: 0 / 0
17.01.2018, 14:14
    #39585818
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
IDVTХрень какая-то, все работает, если контейнеры "Скрипт" заменить на "задача потока данных". Но от Скрипт'ов отказаться не могу, пока сделал так: убрал все ограничения на связи и у контейнера "В" (из примера) задал выражение свойства Disable по ранее используемой Fx() с инверсией, в таком варианте все поехало.
1. Запихни B в контейнер, к нему делай безусловный переход.
2. Внутри нового контейнера добавь несущественный шаг, например, вычисление значения. От него условный переход к B.
Профит... ли?
...
Рейтинг: 0 / 0
17.01.2018, 15:08
    #39585867
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
IDVT,

Покажите Precedence Constraints на ваших потоках

...
Рейтинг: 0 / 0
17.01.2018, 15:09
    #39585871
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
IDVTТак уже все варианты перепробовал, даже от безысходности добавил условие на «В» -> «С». Но результата нет, он есть только при выполнении Fx() = true….

У "С" - укажи что входящие переходы - сочетаются как OR (ИЛИ) - штриховые линии. По умолчанию они имеют сочетание AND (И), и задача С ждет у тебя завершения обоих задач А и В, чего не случается.
...
Рейтинг: 0 / 0
17.01.2018, 15:34
    #39585906
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
FerdipuxУ "С" - укажи что входящие переходы - сочетаются как OR (ИЛИ) - штриховые линии. По умолчанию они имеют сочетание AND (И), и задача С ждет у тебя завершения обоих задач А и В, чего не случается.
В общем случае это плохой подход. См. рисунок
...
Рейтинг: 0 / 0
17.01.2018, 15:54
    #39585918
IDVT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
FerdipuxIDVTТак уже все варианты перепробовал, даже от безысходности добавил условие на «В» -> «С». Но результата нет, он есть только при выполнении Fx() = true….

У "С" - укажи что входящие переходы - сочетаются как OR (ИЛИ) - штриховые линии. По умолчанию они имеют сочетание AND (И), и задача С ждет у тебя завершения обоих задач А и В, чего не случается.

Спасибо, этого я не знал!
...
Рейтинг: 0 / 0
17.01.2018, 16:01
    #39585924
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS ветвление потока управления данных
Руслан ДамировичВ общем случае это плохой подход. См. рисунокчто есть общий случай?
конкретный воркфлоу нужно делать под конкретную задачу.
для вашей задачи удобно прокидывать через контейнер и копипастить вашу "Page"
(многие скажут, например, что копипаста это "плохой подход").
а условия and\or на констрейнтах как раз и созданы для случая ТСа.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS ветвление потока управления данных / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]