Support Article
Inserts fail with DatabaseException on database character change
Summary
After a database character set change from US7ASCII to AL32UTF8, inserts in the PC_LINK_ATTACHMENT table fail with DatabaseException.
However, this works when 'bullet points' in the string are not present.
Error Messages
com.pega.pegarules.pub.database.DatabaseException: Database-General Problem writing an instance to the database 12899 72000 ORA-12899: value too large for column "PGEPICDATAOWNER"."PC_LINK_ATTACHMENT"."PYMEMO" (actual: 69, maximum: 65)
Steps to Reproduce
Enter bullet points in the free form text of the Notes field and submit the case.
Root Cause
AL32UTF8 is a unicode character set that supports extended symbols, and encodes characters across a variable length of bytes, up to 4.
US7ASCII is a 7-bit character set that fits all of its supported symbols in a single byte with the high bit stripped. Thus it supports half as many characters as WE8ISO8859P1 and does not support most of the special characters.
Therefore, when defining the column by bytes (the default), insertion of a special character whose encoding is changed to an extended encoding, which includes the bullet point, takes up more bytes than it does characters.
Resolution
Perform the following local-change:Change the column size definition to characters instead of bytes to support expanded character sets.
Published August 24, 2018 - 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.