Pergunta
Eu preciso de ajuda com um pacote SSIS. Eu tenho um servidor que preenche uma tabela DB como parte de um trabalho diário. Em seguida, as gravações de servidor para uma tabela de status do processo para deixar-me saber que o seu feito.
A tabela de status de processo esta aparência:
Job | Ready | Downloaded
myJob True False
Eu quero criar um processo que irá verificar se a bandeira de prontidão na myjob é verdade e prossiga ou se Falso ele vai dormir por 30 mintues antes de tentar novamente e repetindo até 5 vezes.
Eu encontrei este artigo sobre como fazer a parte de dormir: http: // blogs.conchango.com/jamiethomson/archive/2006/10/23/SSIS_3A00_-Put-a-package-to-sleep.aspx
Eu estava pensando em usar uma tarefa do sistema de arquivos para acessar a tabela de estado do processo. Em seguida, defina uma variável para o valor da bandeira Ready. Então, um loop For Container, se verdadeira pausa para fora do loop for e continuar e se falsa prazo do sono, em seguida, executar outra tarefa do sistema de arquivo e defina a variável como o valor da bandeira Ready. A principal pergunta que tenho é como faço para definir uma variável para o valor da bandeira está pronto?
Solução 2
Eu era capaz de descobrir isso.
Eu usei uma tarefa de fluxo de dados com um interior OLE DB fonte e componente Script. O componente Script ler e trata os dados do banco de dados, faz alguns básicos se a lógica mais, e escreve a uma variável do sistema.
- Escrevendo para uma variável de um tutorial componente Script: " http://blogs.conchango.com/jamiethomson/archive/2006/07/18/SSIS_3A00_-But -it-utilizado-se o trabalho em DTS-_2800_7_2900 _- 2D00 Capture-a-valor-de-dentro-a-data-bomba-em-um-variable.aspx "
Mais tarde eu usar essa variável de sistema em um loop.
Outras dicas
Se você tem um recipiente para Loop, você pode colocar uma tarefa "ExecuteSql" para extrair o valor de status (ou seja false), então use um "ScriptTask" para armazená-lo ou manipulá-lo conforme necessário. Você pode então continuar a processar o conteúdo do seu loop for recipiente (isso pode ser uma tarefa de fluxo de dados ou o que nunca o seu uso).