【发布时间】:2020-01-08 13:40:25
【问题描述】:
几乎准备好扔白旗了,但我想我会把它扔出去。我有一个 1994 年的旧程序,它使用 btrieve dB 并呈现健身房的基本会员信息。保存数据的 btr 文件将在记事本中打开,我可以搜索并找到所有记录,尽管格式几乎不可读。当它在程序中打开时,会丢失大量记录。滚动时似乎会在特定记录上停止。
我对 btrieve 几乎一无所知,因为它比我的 IT 职业早了很多年,而且老实说我从未见过它。任何关于我应该在哪里进行故障排除或可能有帮助的工具的建议将不胜感激。
【问题讨论】:
-
程序中是否显示任何日志记录或错误? BUTIL 是一个可以“导出”记录的程序。在导出中,只有字符串是可读的。如果您导出记录,您是否找到程序中缺少的记录? BUTIL 保存的示例是:BUTIL -save Datafile.btr unformattedfile.txt(其中 Data file.btr 是应用程序使用的文件——您在记事本中打开的文件)。根据 Btrieve 的版本,您还可以使用 Function Executor 打开文件并浏览记录。
-
未显示错误。它似乎工作正常,向上或向下滚动时它只是停在同一条记录上。我会尝试通过 butil 保存。我尝试了打捞、恢复等,但无法完成其中任何一个。可能是我的错误,但整个平台对我来说都是陌生的。
-
如果 BUTIL 没有完成,它应该显示一个错误。它可能是损坏的文件或损坏的索引或其他东西。你知道 Btrieve 运行的是什么版本吗?此外, BUTIL -STAT
将为您提供有关文件的统计信息,包括记录数。这将是与 BUTIL -SAVE 输出的一个很好的比较。它们应该匹配。 -
谢谢,这些是一些很好的故障排除步骤。我会尽快试一试。
-
我不确定 btrieve 的版本,但您建议的 butil 命令运行成功。 -SAVE 命令保存了 1744 条记录。 STAT 命令呈现总共 3 个键和 3 个段。第 0 段显示 1756 个唯一值,第 1 段显示 1735 个值,第 2 段显示 1 个值。我将不得不研究 Stat 结果以了解它们,但 SAVE 开关生成的文件似乎包含未在程序中呈现的记录。还有什么建议吗?如果没有别的,来自 SAVE 命令的 txt 文件至少有助于手动重新输入,非常感谢。