July 15, 2013 at 10:29 am
When out, the SSIS's variable theVariableToWriteTo is still empty.
The code stop at: this.VariableDispenser.GetVariables(out varCollection); and the catch block doesn't catch anything (I've remove the MessageBox showing any error). The component turns green anyway.
The class variable theVariableToWriteTo has a value inside the class.
SS 2k8 R2
Component ReadWriteVariables property: theVariableToWriteTo
Yes the variable exist in the scope.
The script code use C#
public override void PostExecute()
{
base.PostExecute();
IDTSVariables100 varCollection = null;
try
{
this.VariableDispenser.LockForWrite("User::theVariableToWriteTo");
this.VariableDispenser.GetVariables(out varCollection);
varCollection["User::theVariableToWriteTo"].Value = this.theVariableToWriteTo.ToString();
} catch (Exception e) {
throw e;
} finally {
varCollection.Unlock();
}
}
what am I doing wrong?
Thank you
July 15, 2013 at 11:50 am
It's been a while, but I seem to remember that you do not need to have the variable listed in ReadWriteVariables if you are using the VariableDispenser methods to read and write - so try removing it and see what happens.
If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.
July 15, 2013 at 11:58 am
Hi Phil,
It goes further and the script component seems to works ok.
I've check the value inside the script component using:
System.Windows.Forms.MessageBox.Show(varCollection["User::theVariableToWriteTo"].Value.ToString());
and the value's right.
But the variable at the package level is still empty once the component end.
Any idea why?
July 15, 2013 at 12:00 pm
May I ask what technique you are using to check the variable's value?
If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.
July 15, 2013 at 12:06 pm
Sure,
The next component, in the control flow, I've added a breakpoint on the "PreExecute" event and check the locals variables in the debugger.
I've also do the samething a few component later just in case of, but same result.
July 15, 2013 at 12:09 pm
Megistal (7/15/2013)
Sure,The next component, in the control flow, I've added a breakpoint on the "PreExecute" event and check the locals variables in the debugger.
I've also do the samething a few component later just in case of, but same result.
Cool - that's how I would do it. Very odd - I will knock up a quick package and give it a try.
If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.
July 15, 2013 at 12:09 pm
Oh my mistake, some variables have the same name but different scope so that might be my issue now.
One of them is having the right value while the other's empty.
I'll start from there.
Thanks for your help!
July 15, 2013 at 12:23 pm
Yep, I confirm that your method works for me - I would say that you have a scope issue.
If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.
Viewing 8 posts - 1 through 7 (of 7 total)
You must be logged in to reply to this topic. Login to reply