sqlldr with error: non-numeric character was found when numeric number
Hi,
I have been struggling with this problem for long, can't get to anywhere.
I am trying to use sqlldr to load a CSV file into table, the table looks like this :
----------------------------------------- -------- ----------------------------
AD_ID NUMBER(38)
CNTCT_ID VARCHAR2(60)
AD_FILE_NAME VARCHAR2(80)
AD_TITLE VARCHAR2(300)
AGCY_APRVL_DATE DATE
CORE_APRVL_DATE DATE
ENTR_CMNT CLOB
IC_APRVL_DATE DATE
PURP_TEXT CLOB
RVW_BRD_APRVL_DATE DATE
ACTIVE_FLAG VARCHAR2(1)
.......................................more fields
The control file looks like this:
LOAD DATA
INFILE "C:\ORACLE_IRTMB\IRPADS\SQL_DATA\ADS_T.CSV"
BADFILE "C:\ORACLE_IRTMB\IRPADS\ADS_T.BAD"
DISCARDFILE "C:\ORACLE_IRTMB\IRPADS\ADS_T.DSC"
truncate INTO TABLE ADS_T
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(
AD_ID INTEGER ,
CNTCT_ID char ,
AD_FILE_NAME char ,
AD_TITLE char nullif (AD_TITLE=BLANKS) ,
AGCY_APRVL_DATE DATE "MM/DD/YYYY" nullif (AGCY_APRVL_DATE=BLANKS) ,
CORE_APRVL_DATE DATE "MM/DD/YYYY" ,
ENTR_CMNT CHAR(7000) nullif (ENTR_CMNT=BLANKS) ,
PURP_TEXT CHAR(7000) nullif (ENTR_CMNT=BLANKS) ,
RVW_BRD_APRVL_DATE DATE "MM/DD/YYYY" ,
ACTIVE_FLAG char ,
....more fields
)
The Data file looks like this:
10132,simpsonl,PMSDHHStemplate.pdf,"Depression, Irritability, Mood Swings Sound Familiar?",1/13/2003,11/14/2002,,1/13/2003,"The NIMH is conducting research on premenstrual
10133,jolkovsl,10133ClozapineDHHS ver 0.pdf,Mood Swings? Unpredictable Moods? Are These Moods hard to Treat?,1/28/2003,11/14/2002,,1/28/2003,"The NIMH is conducting a study to test the efficacy of ...
--- and log file looks like this:
Record 5: Rejected - Error on table ADS_T, column RVW_BRD_APRVL_DATE.
second enclosure string not present
Record 7: Rejected - Error on table ADS_T, column RVW_BRD_APRVL_DATE.
second enclosure string not present
Record 9: Rejected - Error on table ADS_T, column RVW_BRD_APRVL_DATE.
second enclosure string not present
Record 2: Rejected - Error on table ADS_T, column AGCY_APRVL_DATE.
ORA-01858: a non-numeric character was found where a numeric was expected
Record 4: Rejected - Error on table ADS_T, column AGCY_APRVL_DATE.
ORA-01858: a non-numeric character was found where a numeric was expected
Record 6: Rejected - Error on table ADS_T, column AGCY_APRVL_DATE.
ORA-01858: a non-numeric character was found where a numeric was expected
IF I use to_date in control file:
LOAD DATA
INFILE "C:\ORACLE_IRTMB\IRPADS\SQL_DATA\ADS_T.CSV"
BADFILE "C:\ORACLE_IRTMB\IRPADS\ADS_T.BAD"
DISCARDFILE "C:\ORACLE_IRTMB\IRPADS\ADS_T.DSC"
truncate INTO TABLE ADS_T
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(
AD_ID INTEGER ,
CNTCT_ID char ,
AD_FILE_NAME char ,
AD_TITLE char nullif (AD_TITLE=BLANKS) ,
AGCY_APRVL_DATE "to_date(:AGCY_APRVL_DATE,'MM/DD/YYYY')" ,
CORE_APRVL_DATE DATE "MM/DD/YYYY" ,
ENTR_CMNT CHAR(7000) nullif (ENTR_CMNT=BLANKS) ,
IC_APRVL_DATE DATE "MM/DD/YYYY" ,
PURP_TEXT CHAR(10000) nullif (PURP_TEXT=BLANKS) ,
RVW_BRD_APRVL_DATE DATE "MM/DD/YYYY" ,
....
I got extracctly same error message as above...
If I use to_char in control file:
---
LOAD DATA
INFILE "C:\ORACLE_IRTMB\IRPADS\SQL_DATA\ADS_T.CSV"
BADFILE "C:\ORACLE_IRTMB\IRPADS\ADS_T.BAD"
DISCARDFILE "C:\ORACLE_IRTMB\IRPADS\ADS_T.DSC"
truncate INTO TABLE ADS_T
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(
AD_ID INTEGER ,
CNTCT_ID char ,
AD_FILE_NAME char ,
AD_TITLE char nullif (AD_TITLE=BLANKS) ,
AGCY_APRVL_DATE "to_char(:AGCY_APRVL_DATE,'MMDDYYYY')" ,
___
Then it's said a not valid number
Record 2: Rejected - Error on table ADS_T, column AGCY_APRVL_DATE.
ORA-01722: invalid number
Record 4: Rejected - Error on table ADS_T, column AGCY_APRVL_DATE.
ORA-01722: invalid number
Record 6: Rejected - Error on table ADS_T, column AGCY_APRVL_DATE.
ORA-01722: invalid number
Record 8: Rejected - Error on table ADS_T, column AGCY_APRVL_DATE.
ORA-01722: invalid number
someone, please help me out here.
Thanks a lot.
Wei