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

ORA-12899: value too large for column error in Pega 7.1.8

SA-22207

Summary



Text with smart quotes copied into a text property that is 64 characters long, does not fit into a database column that has a length of 64.


Error Messages




2016-04-07 09:41:55,418 [your_IP-1024-exec-19] [TABTHREAD1] [ ] [ your_ruleset:01.01.01] ( internal.access.DatabaseImpl) ERROR your_server|127.0.0.1 your_operator - Encountered problem when performing a Commit
com.pega.pegarules.pub.database.DatabaseException: Database-General Problem writing an instance to the database 12899 72000 ORA-12899: value too large for column "YOUR_SCHEMA"."YOUR_TABLE"."YOUR_COLUMN" (actual: 66, maximum: 64)

Caused by SQL Problems.
Problem #1, SQLState 72000, Error code 12899: java.sql.SQLException: ORA-12899: value too large for column "YOUR_SCHEMA"."YOUR_TABLE"."YOUR_COLUMN"  (actual: 66, maximum: 64)

at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:262)
at com.pega.pegarules.data.internal.access.Saver.insertInstance(Saver.java:1101)
at com.pega.pegarules.data.internal.access.Saver.saveInstance(Saver.java:880)
at com.pega.pegarules.data.internal.access.Saver.saveInstance(Saver.java:777)
at com.pega.pegarules.data.internal.access.Committer.performOps(Committer.java:237)
at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2653)
at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2308)

Caused by: java.sql.SQLException: ORA-12899: value too large for column "YOUR_SCHEMA"."YOUR_TABLE"."YOUR_COLUMN"  (actual: 66, maximum: 64)

at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:947)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3462)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1061)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.executeUpdate(DatabasePreparedStatementImpl.java:476)
at com.pega.pegarules.data.internal.access.Saver.executeUpdate(Saver.java:1617)
at com.pega.pegarules.data.internal.access.Saver.insertInstance(Saver.java:1072)
... 77 more


Steps to Reproduce

  1. Copy a text beyond 64 characters from Microsoft Lync and paste it onto a text area property.
  2. Save the field to a database column with length of 64 [through Obj-Save method].

Root Cause



A third-party product issue.
The problem is that there is a difference between character count and character length. This is due to the character encoding.
The character string in the text field begins with a smart quote. The smart quote takes more than one byte to encode.
The character string length in this case is still 64, but the byte encoded length is 66.


Resolution



Perform the following local-change:
Increase the column width to accommodate the fact that some unicode characters may be present in the string.

 

Published April 21, 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