I am trying to load a flat file from a table. I am working on ODI 11G.
Following are performed.
Staging area different from SOurce is checked.
IKM used is : IKM SQL to File Append
Truncate is True
No LKM is used.
I am getting following error:
java.lang.IllegalArgumentException: ODI-40406: Bytes are too big for array
The backend code generated regarding the same
create header (SALES_PERSON_ID,
Actually, this interface try to create a flat file according to the structure given in the datastore.
"Bytes are too big for array" means that ODI tries to put a value larger than that is specified in the datastore column length.
In your case, it seems to be the header generation, but the same problem can occurs with records values (for ex, a date format too large).
If your file is in "fixed format" (instead of delimited) , the size of the header name is important.
For example, your first column "SALES_PERSON_ID" must be >= 15 characters.
You can :
- disable the creation of header,
- or rename the header,
- or increase the size of the column of your flat file
- or use the "delimited" format for your flat file