sqlloader - invalid number

Posted on 2013-05-26
Last Modified: 2013-05-30
Attached is my control file and .csv file. I did attach another .xls which is the copy of .csv file for matching the name of the fields with the columns.

I am using .csv thru sqlloader, I keep getting "invalid number" when the data is numeric..
This is happening for columns, BX(Expenses- name of the column) and BB(TRA - name of the column).

Also, I get error on column BF, saying actual length is 4, maximum length is 3. But I see only three characters in.csv file for the column BF(settle_ccy -name of the column). Also, you can see I have used TRIM in my control file for varchar.

This is very urgent issue, please help !

Quick response is appreciated.
Question by:d27m11y
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 20

Expert Comment

ID: 39198094
can you provide the table definition of  stg_citco_intraday_trade ?
LVL 20

Expert Comment

ID: 39198159
$tradehome points to the right place ?

I used an external table definition csv_load (definition attached  (all columns varchar(255) except the one you mentioned) and a directory 'ext' i already had defined for

SQL> select expenses, settle_ccy, tra from csv_load
  2  /

---------- --- ----------
         0 USD          1
         0 USD          1
LVL 38

Expert Comment

by:Gerwin Jansen, EE MVE
ID: 39198832
How may records are loaded, this is feedback from the sqlldr command.

Have a look at the discard (.dsc) file to see which records are not loaded.
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 39201311
I tried to basically use a shell script for reading this, here is my shell and then tried to convert .csv file from dos to unix format and then it worked.

Please find attached DDL for the table stg_citco_intraday_trade. The first column is a sequence number for which I created a sequence and also created a trigger (before insert) so that it gets first column loaded there for every insert statement. Am attaching those as well.

#!/bin/ksh -xve


echo   'Started sqlloader stg_citco_intraday_trade'

if ( test -e "$tradehome/ods/data/csv/test_0523.csv")
   dos2unix $tradehome/ods/data/csv/test_0523.csv $tradehome/ods/data/csv/test_0523.csv
   echo $odspass | sqlldr $odsuser control=$tradehome/ods/ctl/stg_citco_intraday_trade.ctl  log=$tradehome/ods/log/stg_citco_intraday_trade_sqlldr.log
   cat $tradehome/ods/log/stg_citco_intraday_trade_sqlldr.log


echo  'Ended sqlloader stg_citco_intraday_trade'

Open in new window

I may have to change my shell to ftp .csv file. Could someone suggest how to do that ?
LVL 20

Accepted Solution

flow01 earned 500 total points
ID: 39202163
# this is how a shell ftp session looks on our unix-box
ftp -i -n << EOF
open servername
quote USER username
quote PASS password
put filename1 filename2

#within the ftp-session you can use the regular ftp-commands

Author Closing Comment

ID: 39207966

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
Working with Network Access Control Lists in Oracle 11g (part 2) Part 1: Previously, I introduced the basics of network ACL's including how to create, delete and modify entries to allow and deny access.  For many…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows how to recover a database from a user managed backup

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question