Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: OCI bulk insert failure with different NLS_LANG setting

Re: OCI bulk insert failure with different NLS_LANG setting

From: Ron Reidy <rereidy_at_indra.com>
Date: Mon, 24 Mar 2003 21:20:40 -0700
Message-ID: <3E7FD918.4030708@indra.com>


This is a known bug and the workaround is listed on metalink.

--
Ron Reidy
Oracle DBA

C.J. Sun wrote:

> I found a weird problem in OCI bulk insert. It failed if client locale
> setting
> is different from DB server. my DB server locale is
> NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5 and the table is very simple:
> SQL> desc foo
> Name Null? Type
> ----------------------------------------- --------
> ----------------------------
> A VARCHAR2(200)
> B VARCHAR2(200)
> C NUMBER(9)
>
> If I set client locale same as
> server,i.e.NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5,
> bulk insert OCIStmtPrepare(), OCIBindByPos(), OCIStmtExecute() runs
> sucessfully.
>
> However, if I set client locale as NLS_LANG=AMERICAN_AMERICA.UTF8, it
> throws
> bind failure:
> OCI Error: ORA-01461: can bind a LONG value only for insert into a
> LONG column
>
> What's more strange is that if the table has only 2 columns as follow,
> bulk insert now succeeds with any locale setting. Anyone can help me
> out ? Thanks.
>
> SQL> desc foo
> Name Null? Type
> ----------------------------------------- --------
> ----------------------------
> A VARCHAR2(200)
> C NUMBER(9)
Received on Mon Mar 24 2003 - 22:20:40 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US