SSIS Custom Component: Accessing Variables During Development

I am trying to read a package variable at design time. I can do this at runtime quite easily:

IDTSVariables variables = null;
pipelineComponent.VariableDispenser.LockForRead("MyVariable");
pipelineComponent.VariableDispenser.GetVariables(out variables);

But during development, I don't have a PipelineComponent, and I cannot find any object that will give me a VariableDispenser.

I looked at the IDtsVariableService class, but it seems to provide only a helper interface to facilitate the creation of new variables - I want to read an existing variable.

+3
source share
2 answers

Turns out I was close, it was the IDtsPipelineEnvironmentService class:

Variables vars = null;

IDtsPipelineEnvironmentService pipelineService = (IDtsPipelineEnvironmentService)serviceProvider_.GetService(typeof(IDtsPipelineEnvironmentService));
pipelineService.PipelineTaskHost.VariableDispenser.LockForRead("VARIABLE_NAME");
pipelineService.PipelineTaskHost.VariableDispenser.GetVariables(ref vars);
VARIABLE = vars[0].Value.ToString();
vars.Unlock();
+4
source

Perhaps the following link may help you.

+1
source

All Articles