0

我有一个客户,他有一个开发人员(后来已经去世)为他设置了一个使用 Pervasive V8 数据库的 Magic eDeveloper 应用程序。事情是他的许可证用完了,开发商不在身边。

包含 .DAT 文件的目录中没有 DDF 文件。但是我发现了一个名为 DDFA 的文件,其中包含有关潜在 DDF 文件的文本。我不知道 DDF 文件的格式、DDFA 文件的格式以及是否真的创建了另一个。

以下是 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}}}

有人认识这种格式吗?我可以用它来创建 DDF 文件吗?或者这对其他工具有用吗?

我已经尝试使用BUTIL -SAVE ORIG.DAT ORIG.TXT并获得了一个更具可读性的文件,但我也不太确定如何处理它。

任何帮助深表感谢。

4

1 回答 1

1

该文件描述了 DDF 文件(FILE.DDF、FIELD.DDF 和 INDEX.DDF)的结构。不幸的是,该文件没有描述数据文件。没有描述文件记录的 DDF 不会有太大帮助。

当您说许可证过期时,您是在谈论 Pervasive 许可证还是 Magic 许可证?如果是 Pervasive 许可证,您可以下载 Pervasive 引擎的试用版,安装它并激活试用许可证。

Magic 曾经提供一种为数据文件创建 DDF 的方法。我认为它被称为“DDF Make”。

于 2018-02-08T12:36:35.387 回答