如何在IBM AS / 400上使用C ++查询文件

时间:2016-10-20 13:50:09

标签: c++ ibm-midrange

如何查询位于IBM AS / 400系统上的IBM AS / 400系统上的物理文件。

使用RPG / 400进行此操作非常简单:

  • logical file
  • 中定义我的File Definitions
  • 定义我的KeyList
  • 使用KeyList和
  • 设置SETLL或CHAIN
  • 使用KeyList阅读或READE

但是如何在AS / 400系统上使用C ++源文件来实现同样的目的呢?我没有在IBM的https://publib.boulder.ibm.com找到任何有用的东西。

提前致谢!

1 个答案:

答案 0 :(得分:6)

由于C ++没有RPGLE对数据库表的原生支持,因此它并不那么容易。

文档在这里: https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahg/rzahgcandcplus.htm

ILE C / C ++运行时库函数包括用于C / C ++中的记录级访问的_Rxxxxx()函数。样本:

  • _Ropen() - 打开I / O操作的记录文件
  • _Rreadk() - 按键读取记录
  • _Rlocate() - 定位记录

相关信息链接包含指向您可能想要开始的ILE C?C ++程序员指南的链接。

程序员指南包含一章讨论文件系统访问(IFS和DB表)。讨论了将表外部描述引入C / C ++程序的两个选项。

  • 生成C / C ++源(GENCSRC)实用程序以生成数据库头文件
  • #pragma mapinc指令

就个人而言,我不确定您为什么要使用C / C ++进行数据库访问。使用ILE,从C / C ++程序调用执行I / O的RPGLE过程会很容易。