Error In Loading A SAS File With Multi Byte Characters Into LSH (Doc ID 2121425.1)

Last updated on AUGUST 02, 2016

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_WCE6_197D5BA T26727807 VARCHAR2 CHAR_CS 51 C 204
CDR_WCE6_197D5BA 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 '%T26727807%'
and column_name ='ARM'

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms