Environment: Oracle 10g, WIndows 2003

When I import data from

Source: WE8MSWIN1252 AMERICAN_AMERICA database
with nls_length_semantics BYTE
Target: AL32UTF8 AMERICAN_AMERICA database
with nls_length_semantics BYTE

I get error for some rows and those rows do not get imported, rest everything goes fine.

ORA-02374: conversion error loading table "ABC"
ORA-12899: value too large for column MYFIELD (actual: 263, maximum: 255)
ORA-02372: data for row: MYFIELD : 'per e-mail received 09oct06 ..

Please note that problem comes only with those rows where whole length is cooupied.. e.g. IF I have char(10), and all 10 bytes are occupied, then I get this problem. But If I have at least 1 byte free, then import is successful.

I am not sure changing source table column length will cause an issue or not due to application constraints.

I have tried setting Target db's nls_length_semantics to CHAR but that didn't help - I still get the error. Changing Target Column's length cause other issue with triggers and doesn't import any row - So I cann't use that option. Also due to many different db migration that we need to do, I donnot think field level changes will be good option.

I am not sure, how safe is to use nls_length_semantics to CHAR in Source db and then try.

By the way, I have read this:

Is there any workaround/Option/advice I can use.