我正在尝试从在 DOS 系统上运行的旧式销售点数据库中提取数据。
56 KB DATABASE.DA0 - binary data
232 KB DATABASE.DA1 - binary data
192 KB DATABASE.DA2 - binary data
396 KB DATABASE.DA3 - binary data
224 KB DATABASE.DA4 - binary data
316 KB DATABASE.DA5 - binary data
60 KB DATABASE.DAS - magic number "MPROS" - some kind of data format specification
2.8 MB DATABASE.DAT - magic number "MPROD1" - some kind of flatfile
12 KB DATABASE.DPL - magic number "MPRO2" - some kind of UI script
数据文件的一行具有以二进制指定的字段大小,如下所示:
\03Mrs\03XXX\03XXX\0cXXXX Street
规范文件的部分如下所示:
Export $001=CLIENT NUMBER ,TYPE=C,WI=13,CASE=U,SERIAL
$002=DATE ,TYPE=D(dd-mm-yy)
$003=TITLE ,TYPE=C,wi=7
$004=FIRST NAME ,wi=12
$005=SURNAME ,wi=30
$006=STREET ,wi=30
$007=SUBURB/TOWN ,wi=25
$008=POSTCODE ,wi=8
$009=TELEPHONE ,wi=15
$010=PURCHASE ,TYPE=N,pr=2,ju=r,wi=9
$011=2ND LAST CONTACT ,TYPE=D(dd-mm-yy)
$012=3RD LAST CONTACT ,TYPE=D(dd-mm-yy)
$013=4TH LAST CONTACT ,TYPE=D(dd-mm-yy)
$014=MAILING LIST (Y/N) ,wi=1
...
\PROG
dc init,nameline,lastline,streetline,figs,wk,line,nacase,sequence
dc nad
getpar 'nacase',nacase
leftstr first,1,init
ifa contact
nameline=title+' '+init+' '+surname
else
nameline=surname
endif
unline nameline
streetline=property+' '+street_no+' '+street
unline streetline
if nacase bw 'l'
setcase nameline,w
setcase streetline,w
endif
lastline=suburb
;; unline lastline
if nacase bw 'l'
setcase lastline,w
endif
gosub towJnpostcode
nad=nameline
ifp contact
nad=contact+CR+nad
endif
nad=nad+CR+streetline+CR+lastline
ifnotf then notf
if $display='a'
wk='Records: '+$trc+' '
endif
if $display='s'
wk='Records: '+$src+' from '+$trc+' '
endif
a=51-len(wk)
fillstr line,'ƒ',a
figs=wk+line
if $index=1
sequence='customer ref'
endif
if $index=2
sequence='postcode
有人知道这是什么类型的系统,是否有任何现成的库或转换器可以读取它?