Re: SQLLDR

From: Vladimir M. Zakharychev <vladimir.zakharychev_at_gmail.com>
Date: Sat, 22 May 2010 04:42:19 -0700 (PDT)
Message-ID: <c2dadff4-aa88-40a3-8a53-8686fb00c170_at_d12g2000vbr.googlegroups.com>



On May 21, 7:03 pm, The Magnet <a..._at_unsu.com> wrote:
> On May 21, 9:40 am, "S. Anthony Sequeira" <nob..._at_127.0.0.1> wrote:
>
>
>
> > On 21/05/10 15:35, The Magnet wrote:
>
> > > This one has me going nuts.  We are using SQLLDR to load a data file.
> > > Certain records are getting kicked with an ORA-01438 (value larger
> > > than specified precision allowed for this column)
>
> > > Problem the column is a DATE:  price_date      date "MM/DD/YYYY",
>
> > > How do you get a precision with a date column??  The format is
> > > correct:  05/03/2010.
>
> > > It's a lot of data, so unless someone wants to see it, I will not post
> > > the record(s) and control file.  But again, strange error for a date
> > > column.  And, the fields/columns match up fine.
>
> > The controlfile would be useful + (at least some of) the bad file, and
> > relevant logfile snippets.  Also the sql*loader command line used.
>
> > Also your NLS settings on server and client
>
> > --
> > S. Anthony Sequeira
> > ++
> > Q:      What is purple and commutes?
> > A:      An Abelian grape.
> > ++
>
> Whatever, strange, weird.  I removed the decimal percition on the
> numeric columns, and wham, everything loaded.  Go figure.

Use explicit column data types in the control file:

...
PRICE FLOAT EXTERNAL,
PRICE_DATE DATE "MM/DD/YYYY",
...

If you do, loader should correctly parse the numerics.

Regards,

   Vladimir M. Zakharychev
   N-Networks, makers of Dynamic PSP(tm)    http://www.dynamicpsp.com Received on Sat May 22 2010 - 06:42:19 CDT

Original text of this message