Re: Using SQL*Loader to load a record sequential data file
Date: 1997/02/27
Message-ID: <mjrE69ypo.LEt_at_netcom.com>#1/1
In article <3315EB53.5DEC_at_mail.amsinc.com>,
Rajiv Gidadhubli <G.R._Rajiv_at_mail.amsinc.com> wrote:
>Hi all,
>
>I need to load a fixed-length record sequential datafile(i.e, no new-line
>characters at end of record) using SQL*Loader into the Oracle database.
>
>I am not able to find any way to do this in the SQL*Loader documentation.
>
>I can change the file to Line sequential format(put a new-line character
>at the end of every record), but the size of the data file makes this
>approach prohibitive.
>
>I would appreciate if anyone could help me out with this problem.
>
Rajiv,
The way to do this in UN*X is to
compress <file_name> this will produce <file_name>.Z and extra space
mkfifo derf (create a named pipe)
write a program lf that reads stdin and writes stdout with linefeeds.
uncompress -c <file_name> |lf > derf &
sqlload derf
What this does is create a pipe (typically a 4K buffer in memory) That looks like a file to sqlload. The contents of the named pipe will be what ever you redirected (>) into it. Once done it will once again be empty unless you redirect something else into it.
Please not the & at the end of the uncompress line. You MUST but the uncompress line in backgroud
Hope this helps
Mark Rosenbaum Otey-Rosenbaum & Frazier, Inc. mjr_at_netcom.com Consultants in High Performance and (303) 727-7956 Scalable Computing and Applications POB 1397 ftp://ftp.netcom.com/pub/mj/mjr/resume/Boulder CO 80306 Received on Thu Feb 27 1997 - 00:00:00 CET