Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

BIX does not update certain records

SA-16268

Summary



BIX extract rule fails to insert records in to the Target database for a particular set of records.


Error Messages



java.sql.BatchUpdateException: ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column

    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10401)
    at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:230)
    at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.executeBatch(DatabasePreparedStatementImpl.java:530)
    at com.pega.pegarules.data.internal.access.ExtractImpl.insertRowsBatchMode(ExtractImpl.java:5330)
    at com.pega.pegarules.data.internal.access.ExtractImpl.doExtract(ExtractImpl.java:3119)
    at com.pega.pegarules.data.internal.access.ExtractImpl.runExtract(ExtractImpl.java:1561)
    at com.pega.pegarules.data.internal.access.ExtractImpl.run(ExtractImpl.java:1406)
    at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1081)
    at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:739)
    at com.pega.pegarules.data.internal.access.ExtractImpl.runEngineExtract(ExtractImpl.java:1390)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.executeExtract(DatabaseImpl.java:7001)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.executeExtract(DatabaseImpl.java:6974)
    at com.pega.pegarules.session.internal.mgmt.Executable.executeExtract(Executable.java:7406)
    at com.pegarules.generated.activity.ra_action_runextract_7a8d2d1902a070a3370e3cda6517cc3b.step1_circum0(ra_action_runextract_7a8d2d1902a070a3370e3cda6517cc3b.java:190)
    at com.pegarules.generated.activity.ra_action_runextract_7a8d2d1902a070a3370e3cda6517cc3b.perform(ra_action_runextract_7a8d2d1902a070a3370e3cda6517cc3b.java:72)


Steps to Reproduce



1. Run an extract against Oracle database.
2. Insert data in to a target schema which is greater than 4000 bytes.


Root Cause



The issue is with Oracle database driver while handling the data supplied to that which is greater than 4000 bytes.

Resolution



Perform the following local-change:

Make changes to the extract such that the property which is exceeding the size is set at the end so that the prepared statement inserts the value at the end of the query, as suggested in the Oracle forums.
This can be achieved by unselecting the property responsible for the issue and selecting the same again. This results the property being the last column. Property can be identified by its huge size by performing obj-open-by-handle on the failed record and comparing it with the good records.

Published January 31, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice