2

我面临着一个我不知道如何继续的任务:将一个 120 GB 的数据库从 PROGRESS 迁移到 SQL Server 2008。

坦率地说,我什至从未听说过 PROGRESS,也无法真正理解他们的网站......我拥有的是一个restore包含 128 个文件的文件夹,dbqsXXX其中 XXX 从 1 到 128 - 每个文件是 1 GB在尺寸方面。

我不知道 PROGRESS,我没有任何可用的 PROGRESS 服务器 - 有没有希望我可以从这些文件中获取数据到 SQL Server 中?

另外:我试图找到 ODBC 驱动程序,但我找到了一个(称为SequeLink ODBC 4.51),但我无法安装它,因为它不喜欢我的 Win7 x64 机器:-( 在 PROGRESS 站点本身上,我似乎找不到任何可供下载的 ODBC 驱动程序 - 仅需要花费 $$$$$$ 的东西

那么 - 我的选择是什么?

  • 是否有“PROGRESS Express”或“免费”或“开发者”版本可用?
  • 我可以通过其他方式访问我的“恢复”目录中的那些 dbqs 文件吗?它们似乎至少部分是二进制的——没有 CSV 或 XML 或类似的东西......
  • 我可以找到一个可用的 ODBC 或 OleDB 驱动程序,它可以在我的 Win7 x64 机器上运行并允许我创建到 PROGRESS db 的链接服务器吗?(不久前在 MySQL 上工作得很好)
  • 我(或我的客户)能否以某种方式将 PROGRESS 中的结构和数据转储为另一种更易于使用的格式,如 MySQL 或 PostgreSQL 之类的?

欢迎任何提示、提示、网站、网络广播!

4

1 回答 1

5

有一个评估套件可用:http: //communities.progress.com/pcom/docs/DOC-103695

这可能会或可能不会帮助您,具体取决于您实际拥有的那些文件。如果它们是最新版本数据库的完整且未损坏的副本,则评估套件应该能够打开它们。

但是,数据库可能已被保护免受此类访问。在这种情况下,除非您可以从控制它们的人那里获得凭据,否则您可能会不走运。

话虽如此 - 您对文件名的描述听起来不像一个实际的数据库。数据库扩展区通常命名为 dbname.db、dbname.b1、dbname.d1、dbname.d2 等。如果使用存储区域配置 db,则许多扩展区将命名为 dbname_##.d#。

您的文件听起来更像是“备份范围”。换句话说,它们是某人进行备份并将其写入 1GB 块的结果。要恢复这样的备份,您需要一个列出所有这些“范围”的文本文件,但第一个除外。然后,您将执行以下操作:

prorest dbname extent1 < 文件列表

(使用“proenv”快捷方式获取正确配置的命令窗口。)

一旦你这样做了,你将拥有一个实际的数据库。(如果备份是通过压缩进行的,则恢复的数据库可能比您的文件大很多。)

Prorest 不向后兼容。因此,如果备份是 v9 数据库,则 v10 评估套件将无法工作。您需要找到一台与进行备份的 Progress 版本相同的机器。(在 %DLC%\bin\91dbutils 文件夹中有 v9 实用程序。在 83dbutils 中也有 v8。理论上,您可以使用它们来恢复旧版本的备份并升级到当前版本。实际上使用这些实用程序是“具有挑战性的” .)

给定一个实际的数据库,然后您可以使用“proserve”启动服务器,连接到它并享受乐趣。但现在还不清楚是否有必要深入了解这样做的细节。

于 2011-02-26T22:49:50.097 回答