RE: SQL*Loader Date error (ORA-01858)

  • From: "Hostetter, Jay M" <JHostetter@xxxxxxxxxxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 8 Dec 2005 08:45:08 -0500

Madhavi,
 
  I wonder if sql*loader is having trouble with the column name
TIMESTAMP?  Could you test it with a different column name?
  Also, if the datatype of the TIMESTAMP column is TIMESTAMP, then you
should try TO_TIMESTAMP instead of TO_DATE.  The implicit conversion
could be an issue.
 
Jay

________________________________

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jim Silverman
Sent: Wednesday, December 07, 2005 3:32 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: SQL*Loader Date error (ORA-01858)



This may be a silly question, but are you sure that the column names in
the controlfile correspond properly to the columns in your table
RE_STATS_STAGING?  In particular, are you sure that the datatypes of the
input data (including the timestamp constant) are compatible with the
datatypes in the table definition? 

=====================================
Jim Silverman
Senior Systems Database Administrator
Solucient, LLC
Telephone:   734-669-7641
FAX:            734-930-7611
E-Mail:         jsilverman@xxxxxxxxxxxxx 

                From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Madhavi Kanugo
                Sent: Wednesday, December 07, 2005 1:20 PM
                To: 'oracle-l@xxxxxxxxxxxxx'
                Subject: SQL*Loader Date error (ORA-01858)

                Hello  All,

                I'm trying to load data using SQL Loader and ran into
the ORA-01858: a non-numeric character was found where a numeric was
expected  error.

                Below is my control file. As you can see, the timestamp
is a constant field and I am loading its value from the filename of the
data files. I am executing the sql loader from a shell script and
creating the control file on the fly. The filename is in the form of:
20051206130101.txt  So basically, the shell script replaces the
when_changed value with 20051206130101.

                I created a temp table with just a date field and tried
to insert a value into it. Insert into temp values
(to_date('20051207160752','YYYYMMDDHH24MISS')); and there is no error
and date conversion is implict.

                But SQLLOADER is erring out on ORA-01858. 

                LOAD DATA 

                INFILE FILENAME 

                APPEND 

                INTO TABLE RE_STATS_STAGING

                FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 

                    TRAILING NULLCOLS 

                ( 

                  RE_NAME,

                  TG_TYPE,

                  TRUNKGROUP,

                  CONNECTS,

                  HANGUPS,

                  DECLINES,

                            LOOPS,

                            SECONDS,

                            CC_CONNECTED,

                            CC_SETUP,

                            TIMESTAMP CONSTANT
"to_date('_when_changed_','YYYYMMDDHH24MISS')"

                        )

                Any ideas on where I am going wrong? Any thoughts or
help will be appreciated.


                Thanks in advance,

                Madhavi




**DISCLAIMER
This e-mail message and any files transmitted with it are intended for the use 
of the individual or entity to which they are addressed and may contain 
information that is privileged, proprietary and confidential. If you are not 
the intended recipient, you may not use, copy or disclose to anyone the message 
or any information contained in the message. If you have received this 
communication in error, please notify the sender and delete this e-mail 
message. The contents do not represent the opinion of D&E except to the extent 
that it relates to their official business.

Other related posts: