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

Rad*_*tor 0 c++ ibm-midrange

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

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

  • 定义我logical fileFile Definitions
  • 定义我的KeyList
  • 使用KeyList和SETLL或CHAIN
  • 使用KeyList读取或READE

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

提前致谢!

Cha*_*les 6

这并不容易,因为C++没有RPGLE对DB表的原生支持.

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

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

  • _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过程会很容易.