Ibm midrange 对RPG OPM数据库文件的SQL访问

Ibm midrange 对RPG OPM数据库文件的SQL访问,ibm-midrange,db2-400,rpg,Ibm Midrange,Db2 400,Rpg,我必须评估我的雇主打算购买的公司使用的遗留软件。该软件最初是在IBM System/38的RPG II(或III?)中编程的,并从那时起不断扩展。它现在驻留在一个全新的i系列服务器上,具有i5/OS和RPG II、III、IV/ILE的运行时环境。 我不是真的担心软件,而是数据存储。我知道i5/OS包含一个DB/2关系数据库,但DB/2在20世纪90年代才进入中端。该软件比这早了大约十年。System/38也有一个集成数据库,但我找不到任何细节,甚至找不到名称 该公司位于一个受严格监管的业务部门

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

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

所以我想知道:

  • 我可以轻松访问遗留RPG II OPM传统系统数据库吗 通过集成DB/2的文件
  • 这些数据库文件是否自动显示在DB/2中
  • 我是否需要以任何方式“导入”它们
  • 我是否需要以任何方式更改创建/访问它们的软件,以便能够从DB/2内部使用它们
  • 还是我完全走错了路,系统以完全不同的方式工作
我不想替换现有的数据存储方法,我只是在寻找基于SQL的方法,以只读/复制到报表数据库多维数据集的方式定期访问现有数据

我浏览了IBM知识库和一些红皮书,但“IBMi应用程序现代化”和“IBMi数据库编程”在解决这个问题上都没有多大用处。我找到的所有文献都假设对遗留系统有详细的了解,并解释了高级语言和SQL概念,但没有一篇文献用现代高级语言&SQL视图来解释遗留系统。因此,指向“互联网时代的RPG和i5/OS”的指针也将受到高度赞赏。

在IBMi(以前称为/400、Systemi和iSeries)上,数据库就是数据库。无论它们最初是如何定义的,您几乎可以用任何语言访问它们

名为“DB2fori”的数据库与AS/400的第一个版本中的基本数据库相同(它变得更快、更高效、拥有更多功能等,但基本功能仍然相同)

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

IBM i最大的价值主张是向后兼容性。。。您可以从一个版本升级到另一个版本,99.9%的应用程序代码将在未修改的情况下运行(只有当您尝试执行违反规则的操作时,才会使用.1%,很少有应用程序这样做)。

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

名为“DB2fori”的数据库与AS/400的第一个版本中的基本数据库相同(它变得更快、更高效、拥有更多功能等,但基本功能仍然相同)

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


IBM i最大的价值主张是向后兼容性。。。您可以从一个版本升级到另一个版本,99.9%的应用程序代码将在未经修改的情况下运行(只有当您尝试做违反规则的事情时,才适用。只有少数应用程序会这样做)。

嗯,有一点需要注意。。。你确实提到了RPG II。。。它通常使用平面文件和程序描述的文件布局。这些在SQL中不太容易使用。RPG III程序通常使用外部描述的文件(DDS或SQL)。如果所讨论的应用程序使用DDS或DDL定义的文件,那么就没有问题了。谢谢,这非常有帮助(并且可以缓解;-)。我不知道是否有任何关于RPG II的程序,当然似乎安装了一个RPG II运行时。有没有快速可靠的方法来识别RPG II?如果我看到一个节目周期,我想我已经陷入困境了?还有什么我需要注意的吗?将RPG II程序从平面文件移植到数据库是非常复杂,还是可以在一周左右完成?该软件是一种专门的会计软件,任何如此古老的组件都必须是相当基本的客户或记录主数据。所有RPG程序,无论版本如何,都可以使用该周期(尽管现在很少有人这样做)。将程序从平面文件转换为外部描述并不困难。最困难的部分是转换数据。通过对该文件执行DSPFFD,可以判断该文件是平面文件还是外部描述文件。。。如果您看到许多字段,它是外部描述的,如果您只看到一个字段,它是平面的。此外,FWIW平面文件可以使用DDS或SQL重新定义(也称为外部描述),并且仍然由RPG II访问。。。对你的供应商来说,最大的问题是他们是否这样做。即使没有,您也可以在它们上面创建逻辑文件,以便更容易地向SQL公开数据,但这并不理想。询问他们是否有任何多成员文件。这些都是使用SQL访问的一大难题。。。如果他们那样做会让你发疯的。嗯,有一个小小的警告。。。你确实提到了RPG II。。。它通常使用平面文件和程序描述的文件布局。这些在SQL中不太容易使用。RPG III程序通常使用外部描述