load fixed-length text file into database
Posted in 2000
Topics: General Discussion
Hi there, I'm trying to load a file where each field is in fixed legth(with no delimiter ) into database, could anybody kindly tell me how? any message from you will be appreciated best regards -- Posted via CNET Help.com http://www.help.com/
hi, if ur file looks like that ############## textfile ########## field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 field1field2field3field4field5field6field7field8field9 ###################################### u can use a little perlscript to convert it into delimiter-seperated-fields script #! /usr/bin/perl ########################################################### # Generates from INPUTFILE (FIXED FIELD LENGHT) # # a file INPUTFILE.dlm, which contains fields separated # # by DELIMITER # # # # usage: # # # # delimiter.pl INPUTFILE FIXEDLENGTH DELIMITER # # # ########################################################### if (scalar @ARGV ne 3) { die "USAGE: delimiter.pl INPUTFILE FIXEDLENGTH DELIMITER"; } $FIELDL=$ARGV[1]; $DELIMITER=$ARGV[2]; $CHAR="1"; $ROWC=0; open (INPUT, "<$ARGV[0]") || die "$ARGV[0] not found"; open (OUTPUT, ">>$ARGV[0].dlm") || die "could not open $ARGV[0].out"; while ($LINE = <INPUT>) { $ROWC=$ROWC+1; chop $LINE; $LINEL=length $LINE; $OFFSET=0; $LINOK=$LINEL%$FIELDL; #print ("$LINOK\\n"); if ($LINOK eq 0) { while ($LINEL>$OFFSET) { $FIELD=substr ($LINE,$OFFSET,$FIELDL); print (OUTPUT "$FIELD$DELIMITER"); $OFFSET=$OFFSET+$FIELDL; } print (OUTPUT "\\n"); } else { print ( "ROW $ROWC not converted; lenght doesn't match !! \\n") } } close (INPUT); close (OUTPUT); ########END OF SCRIPT########## chris pamela wrote: > Hi there, > I'm trying to load a file where each field is in fixed legth(with no > delimiter ) into database, could anybody kindly tell me how? > > any message from you will be appreciated > > best regards > > -- > Posted via CNET Help.com > http://www.help.com/
Hi!
dbload allows you to describe fields (from char pos - to char pos) and
match them to the columns in the table.
HTH
Michael
pamela wrote:
> Hi there,
> I'm trying to load a file where each field is in fixed legth(with no
> delimiter ) into database, could anybody kindly tell me how?
>
> any message from you will be appreciated
>
> best regards
>
> --
> Posted via CNET Help.com
> http://www.help.com/