code of method tFileInputPositionalProcess is exceeding 65,535 bytes

One Star

code of method tFileInputPositionalProcess is exceeding 65,535 bytes

I have a positional File containing 547 fields with a fixed record length of 3,295 bytes. After defining the field separator positions, I get the above error message in the next step of the schema definition.
How can the schema be defined so the error does not occur.
Community Manager

Re: code of method tFileInputPositionalProcess is exceeding 65,535 bytes

Hello
There are so many fileds and cause error 'exceeding 65,535 bytes', it is a java limitation. see 6766.
So now you can try to use several tFileInputPositional components to extract different fields, and merge all fields horizontally? eg:
tFileInputPositional_1, extract 1 to 200 fields.
tFileInputPositional_2, set 1 to 200 fields as the first field, and aslo extract 201 to 547 filelds.
Best regards

shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: code of method tFileInputPositionalProcess is exceeding 65,535 bytes

I'm not too sure exactly what you mean by merge fields horizontally within a Talend job. How can you use 2 tFileInputPositionals to add records to the same table in a relational database (mySQL in this case) simultaneously so the 2 pieces merge correctly into the same table row?
Community Manager

Re: code of method tFileInputPositionalProcess is exceeding 65,535 bytes

Hello
I'm not too sure exactly what you mean by merge fields horizontally within a Talend job. How can you use 2 tFileInputPositionals to add records to the same table in a

Ok, I show you an example.
I have a positional file like:
field1 field2 field3 field4 field5
v11 v12 v13 v14 v15
v21 v22 v23 v24 v25

I use two tFileInputPositional components to read the same file, one extract the first two fields, and another one extract the last three fileds, and then merge all fields horizontally.
result:
Starting job mergeTwoPositionalFile at 21:00 14/01/2010.
.------+------+------+------+------.
| tLogRow_1 |
|=-----+------+------+------+-----=|
|field1|field2|field3|field4|field5|
|=-----+------+------+------+-----=|
|v11 |v12 |v13 |v14 |v15 |
|v21 |v22 |v23 |v24 |v25 |
'------+------+------+------+------'
Job mergeTwoPositionalFile ended at 21:00 14/01/2010.

Best regards
shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: code of method tFileInputPositionalProcess is exceeding 65,535 bytes

The split/merge get by one Java limit. Now the job runs into "too many parameters, parameter IDWGHT is exceeding limit of 255 words elegible for method parameters.
It there a workaround in Talend or is writing the java component to do the work outside of Talend needed?
Community Manager

Re: code of method tFileInputPositionalProcess is exceeding 65,535 bytes

Hello
Now the job runs into "too many parameters, parameter IDWGHT is exceeding limit of 255 words elegible for method parameters.

There are many fields on each tFileInputPositional, so try to reduce the fileds(less than 200 fileds is better) on each tFileInputPositional, you can split the file to 3 or 4 parts and merge them using the same way as I show in my previous post.
Best regards
shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: code of method tFileInputPositionalProcess is exceeding 65,535 bytes

The too many parameters problem comes up in the final merge where the code generated for the job generates methods that have a separate parameter for all of the final fields. So, won't additional splitting still result in getting the error?
Would it be worthwhile to split the job up so that the first split truncates the ultimate table (target) and inserts records containing data for the columns from that split, and then have subsequent splits match to the target and update the columns from that split? Would that all fit into one job or do separate jobs have to be defined?