将文件从AS400传输到同一网络中的另一台计算机



我正试图通过iSeries命令将AS400上的表的数据导出到另一台机器,但我处于中间。我有一个存储过程,我在其中创建CSV文件,但完成后,我需要将此文件传输到另一台机器(当然,它连接到AS400)。

在存储过程中,我使用CPYTOIMPF命令将表数据导出为CSV,并在AS400文件系统上写入该文件。我不知道是否有将文件直接写入另一台机器的选项。

CALL QSYS2.QCMDEXC(
'CPYTOIMPF FROMFILE(LIBRARY/TABLE) TOSTMF('/QIBM/UserData/TestFolder/2.CSV') STMFCODPAG(*PCASCII) RCDDLM(*CRLF)'
);

此步骤已完成,文件将写入该目录。

现在,在完成上述命令后,我需要将此文件传输到连接到AS400的web服务器。

我该怎么做?

您可以在IBM i上使用FTP。以下是IBM知识中心的一个修改示例

这是CL程序

PGM 
OVRDBF   FILE(INPUT) TOFILE(MYLIB/QCLSRC) MBR(FTPCMDS) 
OVRDBF   FILE(OUTPUT) TOFILE(MYLIB/QCLSRC) MBR(OUT) 
FTP      RMTSYS(SYSxxx) 
ENDPGM 

此程序覆盖FTP客户端到MYLIB/QCLSRC成员FTPCMDS中的脚本的输入,以及FTP客户端到MYLIB/QCLSRC成员OUT的输出。脚本的第一行必须包含远程位置的用户ID和密码。

以下是来自同一知识中心参考文献的示例脚本:

ITSO ITSO    <== This is the user id and password
CD ITSOLIB1 
SYSCMD CHGCURLIB ITSOLIB2 
GET QCLSRC.BATCHFTP QCLSRC.BATCHFTP (REPLACE 
QUIT 

这不应该在网络之外使用,因为用户id和密码是以纯文本发送的。这也可能是一个安全风险,因为生产用户id和密码必须以纯文本形式存储在源文件中。


此外,Scott Klement还介绍了如何在IBM i上使用sshscpsftp。这是一件很长的事情,所以您可能想在这里阅读。

简而言之,scp可能是最简单的方法。但你需要:

  1. 请确保已安装操作系统的OpenSSH选项
  2. 确保您的Windows服务器设置为ssh服务器
  3. 设置用于传输的数字密钥。私钥在客户端,公钥在服务器端
  4. 使用Pase中的scp fromfile user@host:tofile传输文件

相关内容

  • 没有找到相关文章

最新更新