常见的AS/400 FTP问题解答

  

AS/400 FTP是一个很难完全搞懂的问题,因此在TechTarget的IT Knowledge Exchange(ITKE)上经常会有人提问。负责FTP安装和AS/400服务器通讯环境(正式改名为“IBM iSeries”)的广域网工程师,当他们需要在WAN上FTP文件时,会发现这篇文章很有用。

问:AS/400服务器如何对FTP服务器可见?

答:首先,你要从你的服务提供商那得到一个外部IP地址,然后你必须在防火墙上设置好映射IP地址。只要AS/400有一个能够工作的默认路由,那么FTP服务器就可以使用外部IP地址访问AS/400。

另外,如果AS/400是客户端,你需要通过命令行运行FTP来连上远程主机。只要客户机可以路由到远程主机,并且防火墙开放了FTP协议端口,那么就可以通讯了。

问:我如何在AS/400运行程序 FTP到一个FILE.savf?我知道怎样在DOS窗口输入命令,但是我想借助库里的PC文件(FILE.savf)到AS/400存档文件(FILEA)来使用AS/400程序(RPGLE or CLLE)。

答:首先,在AS/400选择一个文件(example.savf )并拖拽到/home/yourname目录。

然后,运行下面命令:

CPYFRMSTMF FROMSTMF( example.savf )  TOMBR( '/qsys.lib/qgpl.lib/example.file' )  MBROPT( *REPLACE )  CVTDTA( *NONE )  ENDLINFMT( *FIXED )  TABEXPN( *NO ) 运行结果在QGPL的EXAMPLE的存档文件里。

但要满足一些条件。首先,一台NetServer服务器得运行在AS/400上,并能在windows网络中可用。在这个例子中,/home/username必须配置成共享目录并且为了使Netserver访问IFS,需要启动文件服务器。由于大多数站点是用NetServer和文件服务器,所以一切可能早都已配置好。

如果BPCS下载是直接保存到my /home/toml目录,那就不需要上述拖拽,一个单独的命令就够了。

问:如何在AS/400上编写FTP批处理程序到PPT扩展文件中?

你需要创建包含FTP命令的脚本文件,通常有下面两种方式:命令行;如果你需要做不同的转移,也可以编写程序来建立文件。但不论哪种情况,你都要用到以下命令:

userid  password  cd remote_directory  lcd local_library  put local_file remote_file  (OR)  get remote_file local_file  quit   下面列表解释了命令行的作用

remote_directory = 远程设备的目录或库  local_library = 本地设备的库  local_file = 本地设备的文件名  remote_file = 远程设备的文件名   根据传送的文件和位置,你也许还要其他命令,如BIN或ASCII。

执行脚本文件的最佳方法是创建一个小型CL程序:

1 对脚本文件覆盖FTP输入

OVRDBF FILE(INPUT) TOFILE(YourLibrary/YourScript) 2 对日志文件覆盖FTP输出

OVRDBF FILE(OUTPUT) TOFILE(YourLibrary/LogFile) 3 用主机名或者FTP地址开启FTP

FTP RMTSYS(Your_Remote_System) 4 移除覆盖

DLTOVR FILE(*ALL) 问:我把每天运行的报告保存在我的IFS的ABC的文件夹(wrklnk ABC)。该文件夹包含带有扩展日期的10个CSV文件夹。我该如何使用AS/400打包所有CSV文件,FTP到另外一个系统?

答:有很多不同的方法在AS/400上创建可用的ZIP文件。一个直接的方法是购买第三方产品、或是使用用户功能界面友好的系统、或是用程序代码执行zipping 文件算法。如果购买不现实或者不需要友好界面,那么安装有Qshell的AS/400s可以用Java Jar(或ajar)工具来创建.ZIP兼容文件。基本使用方法是在Qshell命令行中键入“jar”。

问:我该如何从一个目录复制IFS文件到另外一个文件,然后FTP该文件?

答:使用下面CPY命令:

CPY OBJ('/MyDirectory/MyFile.csv') TOOBJ('/MyOtherDirectory/MyOtherFile.x') 为了通过FTP发送IFS文件,要使用FTP或者STRTCPFTP命令开启文件传输。登陆后,输入namefmt 1处理IFS上的分层文件系统。cd(改变目录)和lcd(本地改变目录)可以操纵目录架构。最后,用put命令从源地址复制某个文件到目标地址。

问:我如何在AS/400上FTP一个文件到Zebra 170Xill打印机的磁盘R上?

答:你可以定义Zebra字符打印机,就像Epson 850。有了该配置,就没必要FTP该打印文件,因为操纵系统可以管理spool文件的发送。为了配置打印机为字符打印机,在安装时候配置成generic text。如果是在AS/400上,配置也一样。Zebra打印机通过USB连到电脑。

问:通过FTP到NT卡我们在AS/400上接收到文件。我可以很方便地从NT卡FTP到AS/400。有没有方法从NT卡的AS/400上开始或者由IFS处理文件?

答:一个可行方法是在DOS批处理文件中使用RMTCMD命令,如下所示:

RMTCMD RUNQRY QRY(MYLIB/MYQUERY) //10.198.16.4 RMTCMD命令可以,但它需要有人提供用户配置信息和每次运行的密码。为了使一台服务器执行RMTCMD,你可以在iSeries Access运行CWBLOGON命令,它提供个人配置和密码。

一旦RMTCMD完成,用参数再一次运行CWBLOGON清除个人配置和密码缓存。运行带/?参数的命令,请查看Windows帮助文档。

问:为了从一台FTP服务器传送文件到iSeries,我要为FTP寻找更好的方法。传送文件依赖于一台要被更换的服务器,而FTP只能通过它。

当前进程使用FTP dir命令列出日志文件,然后创建一个即时脚本FTP该文件到iSeries。我会考虑在iSeries新建一个NETSHARE磁盘,然后在那上面传送文件,但是办公室是在WAN上的远程站点,有5250种进程通过该链路运行,外加上GUI和其他不同类型的数据和应用,我不希望它们的流量相互影响。

答:当两个系统都是iSeries,该列表可以包括DDM、SNDNETF、IFS的QFileSvr文件系统等。虽然有一些好处,如TCP,QoS,但所有这些都对共享同一信道的交互用户有潜在影响。根据数据,你可以压缩数据来降低对通信线路的影响。

另一个办法是根据数据来源,只要它们在源系统上可用,就发送单个数据而不是整个文件。如果是数据库数据,一个简单的触发程序就可以实时发送数据——直接写入到socket、DDM *DTAQ、DDM数据库或是其他相似的方法,你可以记录文件日志并且在传送到目标系统时实时接收日志图片(或使用远程日志)。因为数据传播的时间周期较长,这样做将对交互式用户的潜在影响降到最小,你也可以建立自己的节流控制。

 


文章转载自网管之家:http://www.bitscn.com/network/manage/201110/193572.html

posted @ 2012-01-04 16:55  龙铭洪官方网站  阅读(715)  评论(0编辑  收藏  举报