Флаг проверки готовности служб SSIS - PullRequest
1 голос
/ 06 января 2009

Мне нужна помощь с пакетом служб SSIS. У меня есть сервер, который заполняет таблицу БД как часть повседневной работы. Затем сервер записывает данные в таблицу состояния процесса, чтобы сообщить мне, что это сделано.

Таблица состояния процесса выглядит следующим образом:

Job   | Ready | Downloaded
myJob    True     False

Я хочу создать процесс, который будет проверять, установлен ли флажок «Готов» на myJob в «Истина», и продолжать или, если «Ложь», он будет спать 30 минут, прежде чем повторить попытку и повторить до 5 раз.

Я нашел эту статью о том, как сделать спящую часть: http://blogs.conchango.com/jamiethomson/archive/2006/10/23/SSIS_3A00_-Put-a-package-to-sleep.aspx

Я думал об использовании задачи файловой системы для доступа к таблице состояния процесса. Затем установите переменную в значение флага Ready. Затем создайте контейнер цикла For, если значение true выйдет из цикла for и продолжится, а если значение false, запустите режим ожидания, затем запустите другую задачу файловой системы и установите для переменной значение флага Ready. Главный вопрос, который у меня есть, как мне установить переменную в значение флага готовности?

Ответы [ 2 ]

1 голос
/ 07 января 2009

Я смог понять это.

Я использовал задачу потока данных с источником OLE DB и компонентом скрипта внутри. Компонент Script считывает и обрабатывает данные базы данных, выполняет базовую логику if else и записывает в системную переменную.

Позже я использую эту системную переменную в цикле for.

1 голос
/ 07 января 2009

Если у вас есть контейнер For Loop, вы можете поместить задачу «ExecuteSql» для извлечения значения вашего состояния (т. Е. False), а затем использовать «ScriptTask», чтобы сохранить его или манипулировать им при необходимости. Затем вы можете продолжить обработку содержимого вашего контейнера цикла for (это может быть задача потока данных или что вы когда-либо использовали).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...