我有一个.d1文件和.db同一数据库的旧版本文件。
当我使用文本编辑器打开.d1文件时,文件的内容是可读的,因此似乎可以重新生成数据库。
首先,我只使用了 .d1 文件并在 proenv 下运行命令:
prostrct builddb c:dbmyDb
生成的.db文件仅包含:
0020
字符串,仅此而已,其中作为我的标准.db文件,每个文件都包含 640 KB 的数据。
我尝试使用以下方法解锁数据库:
proutil unlock c:dbmyDb -extents
并按 y 进行恢复问题。输出为:
** Database has the wrong version number. (db: 0, pro: 150). (44)
当我为同一个数据库放置旧的.db文件并运行相同的命令时:
proutil unlock c:dbmyDb -extents
并按 y 进行恢复问题,输出为:
Database c:dbmyDb uses 32-bit dbkeys. It cannot be unlocked by this codebase. (13888)
Use the 10.1A prostrct utility to unlock this database. (13889)
我已经 10 多年没有看到 10.1A 版本了,我很确定 .d1 文件的版本是 10.2A。
如果您指导我恢复数据库的方法,它将非常感激。
如果 .d1 文件确实是 10.2a,并且您正在使用 10.2a 尝试打开它,并且唯一缺少的是.db文件,那么您可以使用以下内容正确重新创建.db文件:
prostrct builddb dbname
但是,如果您缺少其他关键文件(例如.b1文件(,这将不起作用。
如果你真的只有.d1文件,那么你几乎肯定没有足够的部分可以使用。