IBM i(AS400)的数据传输导出多个文件

时间:2017-11-08 00:42:33

标签: ibm-midrange db2-400 iseries-navigator

我正在使用数据传输工具将文件从AS400导出到CSV。有500多个文件要导出,我希望有一种方法可以同时为多个文件执行此操作。

我尝试将传输选项保存为.TTO,但我仍然只能一次为一个文件工作。我可以使用.bat来执行多个.TTO文件,但仍然需要为每个文件生成.TTO。

非常感谢任何想法。

2 个答案:

答案 0 :(得分:1)

我不知道任何执行此操作的命令,或任何第三方工具,但如果您愿意编写.bat程序来执行此操作,为什么不使用带有CPYTOIMPF的CL程序来循环遍历文件名并将CSV写入IFS。如果您正确设置QNTC,甚至可以将其定向到网络共享。

以下是一些示例代码:

pgm
  dclprcopt  log(*no) +
             dftactgrp(*no) actgrp(*new)

  dclf explstf
  dcl  &ifspath      *char  64  value('/ifspath/')
  dcl  &ifsname      *char  64

  dowhile cond('1')
    rcvf
    monmsg msgid(CPF0864) exec(leave)

    chgvar &ifsname (&ifspath |< &filename |< '.csv')
    cpytoimpf  fromfile(&filelib/&filename) +
                 tostmf(&ifsname) mbropt(*replace) +
                 stmfccsid(*pcascii) +
                 rcddlm(*crlf) dtafmt(*dlm) +
                 strescchr(*strdlm) rmvblank(*trailing)
  enddo

out:
endpgm

&filename&filelib将是文件explstf中的字段。

注意: CPYTOIMPF不需要任何特殊的定义文件,因此您可以使用500多个文件而无需太多工作。

答案 1 :(得分:0)

可能关闭SO的主题......

但是看一下5250会话中的Copy to import file(CPYTOIMPF)命令。