My Oracle Support Banner

Error In Loading A SAS File With Multi Byte Characters Into LSH: ORA-12899: "value too large for column" (Doc ID 2121425.1)

Last updated on DECEMBER 05, 2019

Applies to:

Oracle Life Sciences Data Hub - Version 2.4.3 and later
Information in this document applies to any platform.

Symptoms

On : 2.4.3 version, Execution Component

While loading data from a SAS dataset into LSH, the following error occurs.

ERROR
-----------------------
Error from log file:
ERROR: ERROR: ERROR: ORACLE execute error: ORA-12899: value too large for column ??? (actual: 52, maximum: 51). With the occurrence of the above ERROR, the error limit of 1 set by the ERRLIMIT= option has been reached. ROLLBACK has been  issued(Any Rows processed after the last COMMIT are lost).


Steps:
1. Create a table in LSH using a SAS xpt file
2. Created a load set
3. Created a table descriptor in Loadset using same SAS file
4. Now, tried to load the SAS file, I get the above error. One of the columns is defined as 51 char.

Sample data in the dataset: 'A bbbbb cccc dddd of 50 bc [ABC]ZY-s9889 (~810 µCi)'

Following is the content from dba_tab_columns for this table from LSH:

OWNER        TABLE_NAME        DATA_TYPE   CHARACTER_SET_NAME CHAR_LENGTH CHAR_USED DATA_LENGTH
CDR_<ID>   T26727807          VARCHAR2   CHAR_CS                       51                    C                 204
CDR_<ID>   TMP_T26727807  VARCHAR2   CHAR_CS                       51                    C                 204

select owner,table_name, data_type, character_set_name, char_length, char_used, data_length
from dba_tab_columns
where table_name like '%T<ID>%'
and column_name ='MY_COLUMN'

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.