SQL Loader control file format to load data file with changing number of column : NEW QUESTION

I had asked this question before and had received a good response which helped me. But again I am stuck in between. I am attaching my sql loader control file and my sample data files data.

Question is that in the control file I have around a few optional columns at the end, starting from the column TA_NUMBER. These columns may be there or may not be there in the file. I am stuck at the field delimiter that I can give to each of this optionaly column. Because the field delimiter also becomes the row delimter for that column if all other columns are not there in the data file. How should I tackle this?

In the attached file, the first section is the control file structure, the second sections is the data file single record having columns till the column TA_NUMBER. This is sucessfully loaded. The third section is the same data file with one additional column MGR_CODE. But this data fails to load since it is looking for "^M" delimiter for the TA_NUMBER coolumn. CTRL + M is the row delimiter in the data file.

THANKS YOU FOR YOUR TIME AND HELP.

$wapnil
sqlloader.txt
LVL 22
spattewarAsked:
Who is Participating?
 
MikeOM_DBAConnect With a Mentor Commented:

First you need to get rid of the ^Ms:

dos2unix infile.txt infile.txt

Then use this controlfile:

LOAD DATA
REPLACE
INTO TABLE TEMP_EPAM_SECURITY_TXNS
WHEN (01) <> ',' AND (1:2) <> '""'
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
PORTFOLIO,
SECURITY_ID,
TRAN_DESC,
TRAN_TYPE,
TRADE_DATE Date 'yyyy-mm-dd',
SETTLEMENT_DATE Date 'yyyy-mm-dd',
LOCAL_CURR,
FUNC_CURR,
QUANTITY,
TRADE_PRICE,
FUNC_SEC_FEES,
LOCAL_SEC_FEES,
FUNC_COMMISSION,
LOCAL_COMMISSION,
FUNC_PRINCIPAL,
LOCAL_PRINCIPAL,
FUNC_NET_PROCEEDS,
LOCAL_NET_PROCEEDS,
FUNC_ORIG_FACE_VALUE,
LOCAL_ORIG_FACE_VALUE,
FX_RATE,
LOT_NUMBER,
TA_NUMBER,
MGR_CODE,
FUNC_INTEREST,
LOCAL_INTEREST,
ISSUER_NAME
)

Open in new window

0
 
spattewarAuthor Commented:
Works like a charm!
Exactly what I require. Thanks a lot!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.