For example, in the following two lines of my data file, the second
one is being rejected.
AB3019A2,"CAMBRIDGE ROAD"
GR7013B5,"NEXT TO THE"RED LION""
I've tried a few things already, including using the REPLACE function
as shown in the control file below, but not had much success. Does
anyone have any suggestions ?
OPTIONS (DIRECT=FALSE,SKIP=3,READSIZE=1000000,ERRORS=1000000,BINDSIZE=1000000,ROWS=1000,SILENT=(ALL))
LOAD DATA
REPLACE
INTO TABLE RAW_ADDRESS
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(S_REF CHAR
,STREET CHAR "REPLACE(:STREET, CHR(34))" )
[snip]
Have you tried replacing the inner double quotes with single quotes?
--
Regards
Olav
http://www.experit.dk
1. do not enclose strings using double quotes, choose another character or
combination of characters, for instance the 'pipe' character ( | ). Of
course this is prone to further problems if your file includes the pipe
character in some place, other than expected.
2. change any occurrence of the double quotes inside the strings by
transforming them into something like "<quote>" or any other tag of your own
choosing and replace it during the data load using the SQL REPLACE function.
This is probably the more "robust" solution, albeit a bit more expensive in
terms of performance.
The problem is SQL Loader does not handle as you expect the double quotes,
it starts from the first occurrence and when it arrives at the second quote
character interprets it as the closing character, thereafter it raises an
error because it didn't find the record terminator or the field terminator,
whichever comes first. As far as I know there is no workaround apart from
changing in some way the input file format.
Bye,
Flavio
"Angus Tracy" <angus...@ntlworld.com> wrote in message
news:f22fbfbc.03030...@posting.google.com...
If you mean in the data file, then no.
This is not a one-off load operation, and therefore I would like to
find a way to solve it in SQL*Loader, rather than manually edit the
data file as you suggest.
AB3019A2,"CAMBRIDGE ROAD"
GR7013B5,"NEXT TO THE""RED LION"""
With that data, the SQL*Loader control file you have should work fine.
Now if you're saying you can't get the producer of that file to conform
to the CSV standard then I guess you've got some problems.
Good Luck,
Richard