Reputation: 2544
I am developing a simple SSIS package that contains a Data flow Task with:
I am using the FastLoad option in both OLE DB Destinations and i have configured the error output of the first one to redirect rows to the second destination.
From many online articles, i read that using Fastload option will cause the entire batch to fail an not only erroneous rows are redirected.
But when executed the package only 2 rows are redirected and all other rows are imported successfully. And i checked that the sum of the rows count in both destination is equal to the source row count which means that only erroneous rows are redirected.
Note that:
2147483647
I didn't find any similar case online. Any explanation?
Upvotes: 0
Views: 1455
Reputation: 37368
What @DanGuzman mentioned is true, since there are 2 phases of validation for the data when it comes to the OLE DB Destination:
When data from the pipeline to the OLE DB destination the pipeline columns (External columns) are mapped to the OLE DB Destination Input columns which must have a data type relevant to the server side columns data types (Database Engine). If an error occured While data is passed from External columns to the OLE DB destination inputs columns the error row can be redirected alone.
Example: Implicit conversion failure: When a DT_STR
field is mapped to a DT_DATE
and it contains an invalid date value
When we say that Fastload option load data in batches we are talking about the phases when data are sent from the OLE DB destination input columns to the destination itself (Database engine)
This type of validation is done when inserting data to the destination such as Identity, primary key or foreign key violation ...
If an error occurs in this phase the whole batch is rejected and all rows are redirected to the error output.
Upvotes: 1