Possible NLS issue when inserting into character value into Oracle


Trying to insert a character variable containing Japanese characters that are multi-byte, not just double-byte could result in the following error:

Error: ORACLE execute error: ORA-01401: inserted value too large for column.

This occurs when the Japanese characters in SJIS encoding is changed to UTF8 encoding and more bytes are needed.

The workaround is to define the actual length needed by using the DATA set option DBTYPE=.