I got this error while debugging in SSIS:
Error: 0xC0049064 at Data Flow Task, Derived Column [70]: An error occurred while attempting to perform a type cast.
Error: 0xC0209029 at Data Flow Task, Derived Column [70]: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The “component “Derived Column” (70)” failed because error code 0xC0049064 occurred, and the error row disposition on “output column “EVENT_DT” (118)” specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.
Error: 0xC0047022 at Data Flow Task: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component “Derived Column” (70) failed with error code 0xC0209029. The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.
Error: 0xC0047021 at Data Flow Task: SSIS Error Code DTS_E_THREADFAILED. Thread “WorkThread0” has exited with error code 0xC0209029. There may be error messages posted before this with more information on why the thread has exited.
Information: 0x40043008 at Data Flow Task, DTS.Pipeline: Post Execute phase is beginning.
Information: 0x40043009 at Data Flow Task, DTS.Pipeline: Cleanup phase is beginning.
Information: 0x4004300B at Data Flow Task, DTS.Pipeline: “component “DataReaderDest” (143)” wrote 0 rows.
Task failed: Data Flow Task
Warning: 0x80019002 at Package: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (4) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
SSIS package “Package.dtsx” finished: Failure.
My expression is:
(DT_DBTIMESTAMP)(SUBSTRING(EVENT_D,7,4) + "-" +
SUBSTRING(EVENT_D,4,2) + "-" +
SUBSTRING(EVENT_D,1,2) + EVENT_T)
My original data are in this sequence:
EVENT_D: DD/MM/YYYY
EVENT_T: HH:MM:SS
Any help are appreciated. I have try changing my expression numerous time but still fails.
I suspect that there are some date time values which are not in the correct format .So SSIS throws error while parsing them .
In order to find to incorrect date time value from your source table try to redirect the error rows from
Derived Transformationand check the incorrect data using a data viewerThe problem with substring values are if the string data are not in the correct format then the
Derived Transformationwill throw error .Ex:
in your derived transformations use your code to convert into
DT_DBTIMESTAMPtype .Else Try to use a script component and parse the
EVENT_DandEVENT_Tvalues and convert to datetime values. No need to use Derived column with all thosesubstringvaluescreate a
New Output columnValid_Dwith the datatype asDT_DBTIMESTAMP.Select the 2 input columns EVENT_D and EVENT_T in theavailable input ColumnsinScript Transformation EditorVB.NET code
C# code
Now you can use Valid_D column which is of DateTime type in your subsequent transformations
Update: The problem with your syntax is you cannot add date+ time in the string format . You need toparseindividually both EVENT_D and EVENT_T .The
isDatefunction shows NULL for30/04/2012because as per MSDNbut it returns 1 for the value
01/05/2012and02/05/2012because it takes as MM/dd/YYYYso the 1st date is Jan 5th 2012 instead of May 1st 2012
So the soultion is use script component and parse these values into valid date and time and then use it in your subsequent transformations .
Please check my script transformation code above
I think your using SSIS 2005 .The code should be
after Script transformation ,you don’t need to use Derived component .The result obtained in the column Valid_D contains the valid value which is of
datetimeformat