Quantcast
Channel: SQL Server Integration Services forum
Viewing all articles
Browse latest Browse all 24688

how to get error row count from flat file destination in data flow?

$
0
0

Hi,

I am redirecting error rows from ole db destination to flat file destination(i have written custom code) , here i need to get error rows count which is redirecting to flat file in data flow task and if count(error rows)>50 then my ssis package should fail.

How can i get error rows count in flat file destination?

how can i get the error description for the same above?

using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
//using Microsoft.SqlServer.Dts.Runtime;

using System.Data.SqlClient;
using System.IO;
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
    string copiedAddressFile = @"D:\test.txt";
    private StreamWriter textWriter;
    private string columnDelimiter = ",";

    public override void AcquireConnections(object Transaction)
    {

        //IDTSConnectionManager100 connMgr = this.Connections.CM_FlatFile;
        //copiedAddressFile = (string)connMgr.AcquireConnection(null);
        //copiedAddressFile = "D:\test.txt";

    }

    public override void PreExecute()
    {
        int count = 0;
        textWriter = new StreamWriter(copiedAddressFile, false);

    }

    public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        int count = 0;
        count += 1;

        {
            if (!Row.WEEK_IsNull)
            {
                textWriter.Write(Row.WEEK);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.LOCATIONNUMBER_IsNull)
            {
                textWriter.Write(Row.LOCATIONNUMBER);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.TPN_IsNull)
            {
                textWriter.Write(Row.TPN);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.DIVISIONNUMBER_IsNull)
            {
                textWriter.Write(Row.DIVISIONNUMBER);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.DEPARTMENTNUMBER_IsNull)
            {
                textWriter.Write(Row.DEPARTMENTNUMBER);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.SECTIONNUMBER_IsNull)
            {
                textWriter.Write(Row.SECTIONNUMBER);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.GROUPNUMBER_IsNull)
            {
                textWriter.Write(Row.GROUPNUMBER);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.SUBGROUPNUMBER_IsNull)
            {
                textWriter.Write(Row.SUBGROUPNUMBER);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.STYLECODE_IsNull)
            {
                textWriter.Write(Row.STYLECODE);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.EAN_IsNull)
            {
                textWriter.Write(Row.EAN);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.DIFID_IsNull)
            {
                textWriter.Write(Row.DIFID);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.SALES_IsNull)
            {
                textWriter.Write(Row.SALES);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.SALESLW_IsNull)
            {
                textWriter.Write(Row.SALESLW);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.SALESLLW_IsNull)
            {
                textWriter.Write(Row.SALESLLW);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.AVAILABLESTOCK_IsNull)
            {
                textWriter.Write(Row.AVAILABLESTOCK);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.STOCK_IsNull)
            {
                textWriter.Write(Row.STOCK);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.COUNTRY_IsNull)
            {
                textWriter.Write(Row.COUNTRY);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.SOURCE_IsNull)
            {
                textWriter.Write(Row.SOURCE);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.PACKIND_IsNull)
            {
                textWriter.Write(Row.PACKTPN);
            }
            textWriter.Write(columnDelimiter);
            if (!Row.PACKTPN_IsNull)
            {
                textWriter.Write(Row.PACKTPN);
            }
                      
            textWriter.WriteLine();
           
        }

    }

    public override void PostExecute()
    {

        textWriter.Close();

    }

}
This is the code ii have written inside script component(destination from ole db destination) in data flow

Please help me



Viewing all articles
Browse latest Browse all 24688

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>