0

I am migrating from table A (DB A) to table B (DB B), an error occurs on 1 specific field that contains french characters (é, à, ..) and special characters (&, ', ..):

Exception in component tOracleOutput_1 java.sql.SQLException: ORA-12899: value too large for column "DB1"."COLUMN1"."COMMENT" (actual: 121, maximum: 118)

While querying the table from sql editor, the maximum length for the values is 100.

How can I insert these values into the new table without loosing the special and the french characters?

  • compare `nls_language`&`nls_territory` parameters in `DB A` and `DB B`, and set `DB B`'s those values as `DB A`'s. – Barbaros Özhan Jan 02 '18 at 15:57
  • They have the same NLS_LANGUAGE and NLS_TERRITORY – user3132623 Jan 02 '18 at 17:03
  • The 2 DBs have different NLS_CHARACTERSET, DB A has WE8MSWIN1252 and DB B has AL32UTF8. _Standard ASCII characters require 1 byte of storage space under in WE8(...) and in AL32UTF8, however, other characters require only 1 byte of storage space in WE8(...), but they require 2 or more bytes of space in AL32UTF8._ What do you think @BarbarosÖzhan ? – user3132623 Jan 03 '18 at 07:43

1 Answers1

0

This is not due to the special characters. Your column is too small. You have three possibilities :

  • Increase the size of your column directly in the table schema. See here: how to modify the size of a column

  • Delete blank character before and after the value with the TRIM function in the tMap: StringHandling.TRIM(row1.yourcolumn)

  • Truncate the value to fit the column in your tMap: StringHandling.LEFT(row1.yourcolumn,118) (your column have 118 characters max)

Théo Capdet
  • 1,042
  • 3
  • 18
  • 34