0
votes

I have an ssis package that has two objects: execute process task and Dataflow task.

The execute tasks runs an .exe that inserts data into my sql data(it is a lengthy process). This process needs to complete before the next tasks starts. However, while the .exe is running, it fires off a success value(eventhough it is not done) which executes the next task. How can I make the dataflow task wait?

1
If you wrote the exe, you could always import the code into the execute task as separate classes and refactor it to run in SSIS, instead of as an external program. This then would force the package to wait before moving on to the next step. I use to write my own FTP program within SSIS to accomplish something like this.avgbody

1 Answers

0
votes

You make the two disparate processes communicate to each other through an entry in a table. When process 1 starts, write a row in a table. Set a flag (Process1 not done). Once completed, switch the flag (Process 1 is done).

Place the next task - Process 2 in a loop. Within the loop check for the flag. If Process 1 is done - execute Task 2.

For this specific case, return a value and store it as StandardOutput. This would eliminate the need to write to a table.

Now you have three potential solutions please try and share your findings.