我试图通过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服务器。
我怎么能这么做?
发布于 2017-10-11 12:28:05
您可以在IBM上使用FTP。
这是一个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
的输出。脚本的第一行必须包含远程位置的userid和密码。
下面是来自同一个知识中心参考的一个示例脚本:
ITSO ITSO <== This is the user id and password
CD ITSOLIB1
SYSCMD CHGCURLIB ITSOLIB2
GET QCLSRC.BATCHFTP QCLSRC.BATCHFTP (REPLACE
QUIT
这不应在您的网络之外使用,因为用户id密码是以纯文本发送的。由于生产用户的id和密码必须存储在源文件中的纯文本中,这也可能是一种安全风险。
此外,Scott还介绍了如何在IBM上使用ssh
、scp
和sftp
,这是一件很长的事情,所以您可能想了解一下这里。
一个简短的总结是,scp
可能是最简单的方法。但你需要:
scp fromfile user@host:tofile
传输文件。https://stackoverflow.com/questions/46667595
复制相似问题