我必须评估我的雇主打算购买的公司使用的旧版软件。该软件最初是在用于IBM System / 38的RPG II(或III?)中编程的,并且自那时起不断扩展。它现在位于具有i5 / OS和RPG II,III,IV / ILE运行时环境的全新i系列服务器上。 我并不是真的担心软件,而是数据存储。我知道i5 / OS包含一个DB / 2关系数据库,但DB / 2只在1990年代达到了中端。该软件早于大约十年。 System / 38也有一个集成的数据库,但我找不到任何细节,甚至名称。
该公司位于一个受到严格监管的业务部门,我知道在未来三年内预计会发生大规模的报告变更。我更愿意解决关系数据库中的报告问题,因为SQL专家比RPG专家更容易获得。
所以我想知道:
我不想替换现有的数据存储方法,我只是在寻找基于SQL的方法来定期以只读/复制到报表 - 数据库 - 多维数据集的方式访问现有数据。
我浏览了IBM知识库和一些红皮书,但“现代化IBM i应用程序”和“IBM i数据库编程”都没有用于解决这个问题。我发现的所有文献都假设了遗留系统的详细知识,并解释了高级语言和SQL概念,但没有一个解释现有的高级语言和遗留系统。 SQL视图。因此,对“互联网世代的RPG& i5 / OS”的指示也将受到高度赞赏。
答案 0 :(得分:4)
在IBM i(以前的AS / 400,System i和& iSeries)上,数据库是数据库。无论最初如何定义,您都可以使用几乎任何语言访问它们。
名为'DB2 for i'的数据库与AS / 400的第一个版本中的基本数据库相同(它更快,效率更高,功能更多等等,但基本功能仍然相同)。
您可以使用SQL访问旧式数据库文件(物理和逻辑文件),并且可以使用传统的RPG函数(链,读,重新等)访问SQL定义的文件。您可能无法使用某些更高级的功能,但基本功能将始终存在。
IBM i最大的价值主张是向后兼容性......您可以从一个版本升级到另一个版本,99.9%的应用程序代码将不加修改地运行(.1%仅适用于您尝试执行违反规则的事情,很少有应用程序这样做。)