0

I have an IICS mapping expression transformation with a variable field -'flag'.It has a precision of 1 and expression 'N'. The target field is an Oracle database column with varchar2(1). But after successful execution of the mapping, the column is not being assigned as 'N'.It is always null. But when I increase the db column width to varchar2(2), it is successfully assigned as 'N'.Why is it so? Both the source and target columns have width of 1. Why does it successfully assign it as 'N' only when the target column width is 2?

user2280352
  • 145
  • 11

1 Answers1

0

can you pls alter table and update data type to varchar2(1 char) and try?

VARCHAR2(1 CHAR) means you can store up to 1 character, no matter how many byte it has. In case of Unicode one character may occupy up to 4 bytes.

VARCHAR2(1 BYTE) means you can store a character which occupies max. 1 byte.

I think your informatica loads data in UNICODE format. Which means single character Y needs two bytes to store. Now, varchar2(1) which is actually varchar2(1 byte), is not able to store Y which requires 2 bytes. It doent throw proper error because its DB internal error.

Koushik Roy
  • 6,868
  • 2
  • 12
  • 33