Re: import where char set is different - ORA-01461

From: Carlos <miotromailcarlos_at_netscape.net>
Date: Wed, 27 Feb 2008 00:24:54 -0800 (PST)
Message-ID: <174a9a0e-c8ab-47c8-aa5b-a8e2b4fda0cf@62g2000hsn.googlegroups.com>

Luch ha escrito:
> One of our customers sent us an export dmp which we're trying to
> import. Their database uses a character set that is West European or
> MSWIN, whereas ours is Unicode. During the import, we get this error:
>
> . . importing table "DEFECT_REPORT"
> IMP-00058: ORACLE error 1461 encountered
> ORA-01461: can bind a LONG value only for insert into a LONG column
> IMP-00018: partial import of previous table completed: 614870 rows
> imported
>
>
> The table contains two columns that are varchar2(4000). We believe
> this, along with the difference in character set, is the source of the
> problem. We think there are certain records that have data, that in a
> certain char set, are "too big" to fit into the same column once the
> database is in another character set.
>
> The question is, is this assessment correct? And if so, what are the
> right steps to correct this, if I want to keep my database as Unicode?
> Should I try to look for the records that are causing this problem,
> and "truncate" them prior to the customer doing the export, etc?

WE8ISO8859 or MSWIN use 1 byte per character. When you translate the Varchar2 into UNICODE UTF8 some of the characters use 2 bytes per character (i.e.: Ñ). If the original column is 4000 bytes long, the translation makes it longer than 4000 bytes, and then there is no room in a Varchar2 column.

HTH. Cheers.

Carlos. Received on Wed Feb 27 2008 - 02:24:54 CST

Original text of this message