简体   繁体   English

从Magic应用程序使用的Pervasive数据库中检索数据

[英]Retrieve data from Pervasive database used by Magic application

I have a client who has had a developer (who has died since) set him up a Magic eDeveloper application which uses a Pervasive V8 database. 我有一个客户,该客户有一位开发人员(此后去世),他为他建立了一个使用Pervasive V8数据库的Magic eDeveloper应用程序。 Thing is that his licence ran out and the developer is not around. 问题是他的许可证用完了,开发人员不在身边。

There are no DDF files in the directory containing the .DAT files. 在包含.DAT文件的目录中没有DDF文件。 However I have found a file called DDFA which contains text about potential DDF files. 但是,我发现了一个名为DDFA的文件,其中包含有关潜在DDF文件的文本。 I don't know the format of DDF files, of the DDFA file and if one actually creates the other. 我不知道DDF文件的格式,DDFA文件的格式以及一个是否真正创建了另一个格式。

Here are contents of the DDFA file: 以下是DDFA文件的内容:

VRSN=700

Application=Yes
FILE={NAME="file.ddf",DESC="file.ddf",ACCKEY="..SC....",DBNAME="Default Database",ENCR=N,RESIDENT=78,
FLD={DESC="file id",PIC="2",STRG=5,ATTR=N,SIZ=2,WHLE=2,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="file name",PIC="20",STRG=1,ATTR=A,SIZ=20,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="file loc",PIC="64",STRG=1,ATTR=A,SIZ=64,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="flags",PIC="3",STRG=5,ATTR=N,SIZ=1,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="filler",PIC="10",STRG=1,ATTR=A,SIZ=10,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
KEY={DESC="key 1(id)",MOD=S,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=1,DIR=A}},
KEY={DESC="key 2(name)",MOD=S,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=20,FLD=2,DIR=A}}}
FILE={NAME="field.ddf",DESC="field.ddf",ACCKEY="..SC....",DBNAME="Default Database",ENCR=N,RESIDENT=78,
FLD={DESC="field id",PIC="3",STRG=5,ATTR=N,SIZ=2,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="file id",PIC="3",STRG=5,ATTR=N,SIZ=2,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="field name",PIC="20",STRG=1,ATTR=A,SIZ=20,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="bt data type",PIC="3",STRG=5,ATTR=N,SIZ=1,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="offset",PIC="5",STRG=5,ATTR=N,SIZ=2,WHLE=5,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="size",PIC="5",STRG=4,ATTR=N,SIZ=2,WHLE=5,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="decimals",PIC="3",STRG=5,ATTR=N,SIZ=1,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="flags",PIC="3",STRG=4,ATTR=N,SIZ=2,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
KEY={DESC="key 1(field id)",MOD=S,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=1,DIR=A}},
KEY={DESC="key 2(file id)",MOD=N,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=2,DIR=A}},
KEY={DESC="key 3(field name)",MOD=N,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=20,FLD=3,DIR=A}},
KEY={DESC="key 4(file id+field",MOD=S,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=2,DIR=A},
SEG={SIZ=20,FLD=3,DIR=A}},
KEY={DESC="key 5(fi+offset+dec)",MOD=N,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=2,DIR=A},
SEG={SIZ=2,FLD=5,DIR=A},
SEG={SIZ=1,FLD=7,DIR=A}}}
FILE={NAME="index.ddf",DESC="index.ddf",ACCKEY="..SC....",DBNAME="Default Database",ENCR=N,RESIDENT=78,
FLD={DESC="file id",PIC="2",STRG=5,ATTR=N,SIZ=2,WHLE=2,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="field id",PIC="5",STRG=5,ATTR=N,SIZ=2,WHLE=5,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="key number",PIC="2",STRG=5,ATTR=N,SIZ=2,WHLE=2,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="key segment",PIC="2",STRG=5,ATTR=N,SIZ=2,WHLE=2,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="flags",PIC="5",STRG=5,ATTR=N,SIZ=2,WHLE=5,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         1.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
KEY={DESC="key 1(file id)",MOD=N,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=1,DIR=A}},
KEY={DESC="key 2(field id)",MOD=N,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=2,DIR=A}},
KEY={DESC="key 3(file+key num+s",MOD=S,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=1,DIR=A},
SEG={SIZ=2,FLD=3,DIR=A},
SEG={SIZ=2,FLD=4,DIR=A}}}
FILE={NAME="fieldext.ddf",DESC="fieldext.ddf",ACCKEY="..SC....",DBNAME="Default Database",ENCR=N,RESIDENT=78,
FLD={DESC="File ID",PIC="3",STRG=5,ATTR=N,SIZ=2,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         0.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="Field ID",PIC="3",STRG=5,ATTR=N,SIZ=2,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         0.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
FLD={DESC="Extended data type",PIC="3",STRG=5,ATTR=N,SIZ=2,WHLE=3,RSRCE={MDFY=Y,TRNS=S,DEF=N,MOD=B,CTRL=E,CTRL_STP="         0.00000",NUL_ALW=N,STYLE=2,IDX_COLOR=1,IDX_FONT=1}},
KEY={MOD=S,DIR=T,RNG=Q,KEY_TYPE=R,
SEG={SIZ=2,FLD=1,DIR=A},
SEG={SIZ=2,FLD=2,DIR=A}}}

Does anyone recognize this format? 有人认得这种格式吗? Can I use this to create DDF files? 我可以用它来创建DDF文件吗? Or is this usefulfor some other tool? 还是对其他工具有用?

I have tried using BUTIL -SAVE ORIG.DAT ORIG.TXT and got a more readable file but I'm not quite sure what to do with that either. 我尝试使用BUTIL -SAVE ORIG.DAT ORIG.TXT并获得了更具可读性的文件,但我也不知道该如何处理。

Any help is much appreciated. 任何帮助深表感谢。

That file describes the structure of the DDF files (FILE.DDF, FIELD.DDF, and INDEX.DDF). 该文件描述了DDF文件的结构(FILE.DDF,FIELD.DDF和INDEX.DDF)。 Unfortunately, the file doesn't describe the data files. 不幸的是,该文件没有描述数据文件。 DDFs without records describing the files won't help much. 没有记录描述文件的DDF不会有太大帮助。

When you say the license expired, are you talking about the Pervasive license or the Magic license? 当您说许可证过期时,您是在谈论普及许可证还是魔术许可证? If it's the Pervasive license, you might be able to download a trial version of the Pervasive engine, install it and activate the trial license. 如果这是Pervasive许可证,则您可以下载Pervasive引擎的试用版,进行安装并激活试用许可证。

Magic used to offer a way to create DDFs for the data files. Magic过去提供了一种为数据文件创建DDF的方法。 I think it's called "DDF Make". 我认为它叫做“ DDF Make”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM