SQLTeam.com | Weblogs | Forums

Asynchronus Output in ssis Script Component Task

sql2008

#1

In my Script Component Task i am getting the Error:
"In the buffer no line is included . A line must be possibly added with the help of the AddRow method."

I have alredy added the AddRow Method in my C# script,Here is my code:

public override void Input0_ProcessInputRow(Input0Buffer Row)
{

if (Row.Year.Equals(2014) || Row.Year_IsNull == true)
{
Otput2014Buffer.AddRow();

     //Transformation Part
     BudgetTotal2014 = ((Row.VpBudgetEVL2014 != null) ? Row.VpBudgetEVL2014 : 0) +  
                                   ((Row.VpBudgetEVG2014 != null) ? Row.VpBudgetEVG2014 : 0) + 
                                   ((Row.VpBudgetEVP2014 != null) ? Row.VpBudgetEVP2014 : 0) +
                                  ((Row.VpBudgetEVB2014 != null) ? Row.VpBudgetEVB2014 : 0);

    //Assiging values to Output Buffer
     Otput2014Buffer. BudgetTotal2014 = BudgetTotal2014;
}
else if (Row.Year.Equals(2015) || Row.Year_IsNull == true)
{
     Otput2015Buffer.AddRow();

     //Transformation Part
     BudgetTotal2015 = ((Row.VpBudgetEVL2015 != null) ? Row.VpBudgetEVL2015 : 0) +  
                                   ((Row.VpBudgetEVG2015 != null) ? Row.VpBudgetEVG2015 : 0) + 
                                   ((Row.VpBudgetEVP2015 != null) ? Row.VpBudgetEVP2015 : 0) +
                                  ((Row.VpBudgetEVB2015 != null) ? Row.VpBudgetEVB2015 : 0);

    //Assiging values to Output Buffer
     Otput2015Buffer. BudgetTotal2015 = BudgetTotal2015;
 }

}

when i put a messagebox after Transformation
it gets called but the messageBox after Assigning values to Output
buffer is not getting called ..that means it is going inside if but have
problem with writing to output buffer


#2

WHere does

come from? In the signature you have Input0Buffer

Just comparing to the example here:

https://msdn.microsoft.com/en-us/library/ms136133.aspx


#3

Otput2014Buffer is actually one of the asynchronous output .
I have 2 asynchronous outputs and i am redirecting the output columns to output buffer based on IF condition. as you can see in my script
if (Row.Year.Equals(2015) || Row.Year_IsNull == true)
then
add row to to Otput2015Buffer
and
if (Row.Year.Equals(2014) || Row.Year_IsNull == true)
then
add row to to Otput2014Buffer


#4

At this point, I'd be running the package in debug with breakpoints in the script component to see what's going on there.