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: sql*loader

Re: sql*loader

From: Morten Primdahl <morten_at_caput.com>
Date: Tue, 12 Feb 2002 18:26:23 +0100
Message-ID: <3C69503F.2010705@caput.com>


ben moh wrote:

> First thanks for you reply
> Here is my control file
> ---------------------------------------------
> LOAD DATA
> infile *
> replace into table testnum
> fields terminated by ","
> (nb1 , nb2)
> begindata
> 12 14
> 12.5 13.4
> 12 5.17
> 13 14.55
> ---------------------------------------------

> So, if i change all dots with coma SQL*loader works normally

Why don't you just do that then?

Or use Oracle's replace function, something along:

(nb1 "to_number(replace(:nb1,'.',','))",   nb2 "to_number(replace(:nb2,'.',','))")

Or you can try and play around with SET NLS_NUMERIC_CHARACTERS='.,';

I know that ALTER SESSION SET NLS_NUMERIC_CHARACTERS='.,'; works for sessions.

You could also try and explicitly write the type of the field in the .ctl file, ie. nb1 NUMBER (if I recall correctly).

> (In france we use comma instead of dot)
> But my NLS_LANGUAGE is AMERICAN so I dont understand for which reason it
> doesn't work

Probably because of some mismatched NLS parameters :|

Morten

-- 
Morten Primdahl         Caput A/S          Phone +45 70 12 24 42
System Integrator       Nygade 6           Fax   +45 70 11 24 42
morten@caput.com        DK-1164 Kbh K      http://www.caput.com/
Received on Tue Feb 12 2002 - 11:26:23 CST

Original text of this message

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