Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ODI Datatype Format and Conversion

806157Oct 18 2010 — edited Oct 19 2010
Hi ODI Experts and Guru's,

I am fairly new to ODI and I would like to request your assistance and your expertise regarding ODI.

Scenario: I have a flat files with multiple fields and one of the column is a date. In the example below, the date column is field3.

Flat file delimited by semicolon:
field1(string) ; field2(string) ; field3 (string)
1111 ; 111134 ; 2076-05-11 16:00:00
1112 ; 234134 ; 2010-06-21 12:14:37
1113 ; 342221 ; ###

Oracle Target Table:
field1(numeric) field2(numeric) field3(date)

For some reason, our source flat file with the column name field3 which has a date datatype has a value of "###". So during execution of the interface that will populate the Oracle Target Table, I always encounter an error in the steps "Insert flow into I$ table" with oracle error "Caused By: java.sql.SQLDataException: ORA-01841: (full) year must be between -4713 and +9999, and not be 0". I understand that the value "###" is an invalid date value and I would like some help on how to capture the error and put the record that has a problem in the error table instead of stopping the whole integration process. Since I will be transferring 1terabyte of data everyday, I don't want the risk to stop the whole integration because of the single problem in the row. I have tried adding a condition in the source file datastore but with no effect. Is there a way to capture the row with a problem and put in it in the error table and let the integration process continue?

Your help and guidance will be highly appreciated.

Regards,

Russel
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 16 2010
Added on Oct 18 2010
3 comments
1,831 views