Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

"Post-Conversion Data Length" falls short by 1 for CHAR data type

Using DMU 2.2, Build DUMA_MAIN_GENERIC_171016
In my Oracle 19.8 WE8MSWIN1252 characterset database, my table GLDTL.GL_COBASECENTER_DESC has column CO_BASE_CENTER_DESCRIPTION CHAR(39). In the DMU report, Post-Conversion Data Length for this column is 41 (there's only one line for this column in the spreadsheet). So I ran the following SQL on the pre-created empty table in the AL32UTF8 characterset target database (also Oracle 19.8):
alter table GLDTL.GL_COBASECENTER_DESC modify CO_BASE_CENTER_DESCRIPTION CHAR(41);
But importing data of this table into the target database threw error:
ORA-02374: conversion error loading table "GLDTL"."GL_COBASECENTER_DESC"
ORA-12899: value too large for column CO_BASE_CENTER_DESCRIPTION (actual: 42, maximum: 41)
ORA-02372: data for row: CO_BASE_CENTER_DESCRIPTION : 0X'42592054484520544F424143434F2043415243494E4F47454E'
It means I should have widened the column to CHAR(42) instead. Could this be a bug in DMU regarding the calculation of projected column width for a CHAR column? I widened all the other columns according to Post-Conversion Data Length of the DMU report and have no problem. Those columns are all VARCHAR2 datatype.

Comments
Post Details
Added on Jul 28 2021
2 comments
249 views