gpt4 book ai didi

python - 如何在 Python 中读取进度数据库文件 .b1

转载 作者:行者123 更新时间:2023-12-01 05:45:54 26 4
gpt4 key购买 nike

我需要从旧数据库系统导出信息。该数据库是“进度”数据库,信息存储在扩展名为 .b1 的文件中

将所有数据库表导出到文本文件的最简单方法是什么?

最佳答案

.b1 文件是进度数据库的一部分,但实际上不是数据库本身。它包含“前图像”数据。它用于跟踪事务,以便数据库可以在发生错误/回滚等情况下撤消。该文件中的数据实际上对您没有帮助。

您需要的是数据库文件。通常命名为.db、.d1、.d2、d3等。

但是,读取这些(二进制)文件将非常棘手。我什至不确定它们的构建方式是否有任何规范。使用 Progress 内置工具将所有数据转储为文本文件会容易得多。这些文本文件可以通过 Python 中的一些简单程序轻松读取。如果您在系统上安装了数据库,您将找到一个目录,其中包含为数据库提供服务的程序等。在那里您还将找到一些实用程序。

根据操作系统和 Progress 的版本,它可能看起来有点不同。您需要进入数据管理实用程序并进入管理 => 转储数据和定义。

Progress Data Administration Screenshot

如果您查看结果文件 .df(用于数据定义(架构))和 .d(用于数据本身),您应该能够弄清楚其格式。关系根本不存储在数据库中。在 Progress 环境中,它们基本上只存在于访问数据库的应用程序中。

您还可以选择导出各种格式的数据(“文本”可能是最有趣的)。

如果您可以通过编程方式访问 Progress 环境,那么编写导出单个表的小程序可能会更容易。这将为“table1”创建一个分号分隔的文件:

OUTPUT TO C:\temp\table1.txt.
FOR EACH table1 NO-LOCK:
EXPORT DELIMITER ";" table1.
END.
OUTPUT CLOSE.

关于python - 如何在 Python 中读取进度数据库文件 .b1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com