First let me apologize for mis information.
let me correct that
ofbiz uses entity model to define a field and the length of that feild type is defined in fieldtypexxxxxxxx.xml. where the xxxxx is the db
There should never be a field length longer that the db ability if the
fieldtypexxxxxxxx field length is defined properly.
any operation the relates to cursors should be checked for SelectMethod. if the driver does not provide this then it should be a parm in the entityengine.xml for each db.
currently here is how the code handles non cursors
// some databases don't support cursors, or other problems may happen, so if there is an error here log it and move on to get as much as possible
values = delegator.findListIteratorByCondition(curEntityName, null, null, null, me.getPkFieldNames(), null);
catch (Exception entityEx)
results.add("["+fileNumber +"] [xxx] Error when writing " + curEntityName + ": " + entityEx);
the problem is in db with millions of records this is stored in memory becomes the limiting factor without cursors.
as far as the code you did I would suggest
+ if(helperName.toLowerCase().indexOf(db2Name) >-1 &&
be looking at a parm that was set datasourceinfo.java
that way it is universal.