Support Article
ORA-00904 exception: Column name includes # invalid identifier
SA-10046
Summary
User finds ‘java.sql.BatchUpdateExceptions’/ ORA-00904 errors in the PRPC logs - relating to property names that contain a hash/pound (“#”) character in the name.
Error Messages
[…]
Caused by: java.sql.BatchUpdateException: ORA-00904: "INPUTS"."MYPROPERTY#1": invalid identifier
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10345)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:230)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:774)
at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.executeBatch(DatabasePreparedStatementImpl.java:529)
at com.pega.pegarules.data.internal.access.ConnectionStatementStore.executeBatchForAllStatements(ConnectionStatementStore.java:198)
... 13 more
[…]
Steps to Reproduce
It was found that the error presents itself when an application contains optimized properties that contain a ‘#’ (Hash/Pound) symbol in the name.
Resolution
Disabling the merge/batch mode (avoiding the execution of certain type of SQL) resolves the issue.
Disable merge/batch by changing the following prconfig settings:
<env name="classmap/usemergestatement" value ="false" />
<env name="database/batchupdates" value="-1" />
Restart PRPC after submitting the changes.
Published June 12, 2015 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.