SQL 访问 RPG OPM 数据库文件

SQL access to RPG OPM database files

我必须评估我的雇主打算购买的公司使用的遗留软件。该软件最初是在 RPG II(或 III?)中为 IBM System/38 编写的,此后不断扩展。它现在位于一个全新的 i 系列服务器上,具有 i5/OS 和 RPG II、III、IV/ILE 的运行时环境。 我真正担心的不是软件,而是数据存储。我知道 i5/OS 包括一个 DB/2 关系数据库,但 DB/2 只是在 1990 年代才进入中档。该软件比它早了大约十年。 System/38 也有一个集成数据库,但我找不到任何细节,甚至找不到名称。

该公司属于一个受到严格监管的业务部门,我知道一个事实,即在未来三年内预计会发生大规模的报告变更。我更愿意解决关系数据库的报告问题,因为 SQL 专家比 RPG 专家更容易获得。

所以我想知道:

我不想替换现有的数据存储方法,我只是在寻找基于 SQL 的方法以 read-only/copy-to-report-database-cube 的方式定期访问现有数据。

我浏览了IBM的知识库和一些红皮书,但是"Modernizing IBM i Applications"和"IBM i Database programming"对解决这道题都没有多大用处。我找到的所有文献都假定对遗留系统有详细的了解,并解释了高级语言和 SQL 概念,但是 none 根据现代高级语言和 SQL 解释了遗留系统看法。因此,指向 "RPG & i5/OS for the Internet Generation" 的指针也将受到高度赞赏。

在 IBM i(以前的 AS/400、System i 和 iSeries)上,数据库就是数据库。无论它们最初是如何定义的,您都可以使用几乎任何语言访问它们。

名为 'DB2 for i' 的数据库与 AS/400 第一个版本中的基本数据库相同(它变得更快、更高效、拥有更多功能等,但基本功能还是一样)。

您可以使用 SQL 访问旧式数据库文件(物理和逻辑文件),并且可以使用传统的 RPG 功能(链、读取、读取等)访问 SQL 定义的文件。您可能无法使用某些更高级的功能,但基本功能将始终存在。

IBM i 最大的价值主张是向后兼容性...您可以从一个版本升级到另一个版本,并且 99.9% 的应用程序代码将 运行 保持不变(这 .1% 仅在您尝试这样做时适用违反规则的事情,很少有应用程序会这样做。