【问题标题】:Accessing an old Progress v9.1e database访问旧的 Progress v9.1e 数据库
【发布时间】:2012-06-29 22:05:45
【问题描述】:

我有一个旧的 Progress 版本 9.1e 数据库文件需要访问。

有没有办法让旧版本的 OpenEdge 打开它?我已经彻底查看了他们的网站,但一无所获。我也研究了两天,没有运气。

我们将不胜感激任何帮助或见解。

【问题讨论】:

    标签: database openedge progress-db


    【解决方案1】:

    进度数据库通常不会存在于真空中。数据库所在的系统应该具有打开它并在某处使用它所需的可执行文件。

    如果您只是从其他系统中复制了这个数据库,那么您基本上就不走运了。而且您可能错过了所需的关键文件。特别是如果您复制了一个实时数据库。

    假设这个数据库仍然存在于原始系统上,知道它是什么操作系统会有所帮助。如果这是一个 unix 变体,“find -name progress.cfg -print”应该会显示安装目录。导出指向该目录的名为 DLC 的环境变量 - 即导出 DLC/usr/dlc。还有一个“bin”子目录。把它放在你的PATH中。然后输入“showcfg”。这应该会显示您拥有哪些可用的许可证——这对于缩小可用于打开数据库和处理数据的选项大有帮助。

    【讨论】:

    • 嗨,汤姆。感谢您的出色回复。我们需要将数据插入到另一个客户的进度数据库中,因为我们的一个系统需要与之集成。有没有一种“简单”的方法来完成这项工作?对于这些问题,我深表歉意 - 我对 Progress 完全陌生(就像我工作场所的每个人一样)。
    • 要插入数据,您需要运行 4GL 程序或通过 ODBC/JDBC 连接并运行一些 SQL。这两种方法都需要一个正在运行的数据库实例。听起来这是一个实时系统,所以必须有人(DBA)负责它?要么是它,要么是最终用户站点的嵌入式系统,没有管理员,可能不知道如何去做。在这种情况下,您需要大量的外部帮助。
    • 恰好是第二种情况,Progress 与另一个系统一起安装并在最终用户站点使用。它们对我们没有帮助,而且我们的 DBA 以前没有与 Progress 合作过。我们求助于编写一个在同一台机器上运行的 Linux 应用程序,使用 ODBC 提取和写入我们需要的数据。感谢您的帮助。
    • 在这种情况下,这是一个不错的方法。您需要注意几件事: 0) Progress 数据库不是 SQL 数据库。 1) 进度将“过度填充”字段。这适合 SQL 客户端——您可能需要不时运行“dbtool”来纠正这个问题。 2) SQL 引擎使用基于成本的优化器,但您必须偶尔更新统计信息才能使其生效。否则您的查询可能会很迟钝。
    • 感谢您提供的信息。我会在开发过程中考虑到这一点。对于问题数量或困惑,我深表歉意 - Progress 似乎对新手非常不友好。
    【解决方案2】:

    您要么需要二进制文件(和许可证代码),要么认识拥有副本的人愿意将其复制到您有权访问的版本。

    在这种情况下,与 PSC 销售代表交谈可能会有所收获。

    【讨论】:

    • 嗨蒂姆。谢谢您的回答。我已经通过电子邮件发送了进度支持,但还没有运气。他们似乎反应迟钝。
    • 你把邮件发给了谁?
    • 另外,你的机器上有开发系统吗?
    • 我使用在线网络表单来记录请求。此后我收到了一封确认电子邮件,此后一直没有收到回复。我不确定开发系统。
    猜你喜欢
    • 2012-09-24
    • 2017-03-23
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多