FTP配置
配置
FTP的配置在FTP Proc中定义的数据集中
FTP Proc可以通过在SDSF中
sj
作业看到配置FTP支持中文 修改SYSFTPD定义的数据集(FTP参数)
ENCODING MBCS; MBDATACONN (IBM-1388,IBM-5488); MBSENDEOL CRLF;
重新启动TCPIP使配置生效,这样就可以FTP上传有汉字的文件到主机,文件的编码应该是GBK。
MBDATACONN语法:
MBDATACONN(file_system_codepage,network_transfer_codepage)
其中file_system_codepage,network_transfer_codepage的取值可以为:
Support for: | file_system_codepage | network_transfer_codepage |
---|---|---|
Chinese standard GB18030 | IBM-1388 or UTF-8 | IBM-5488 |
BIG5 | IBM-937 | IBM-950 or BIG5 |
EUCKANJI | IBM-930 | IBM-eucJP |
JIS78KJ (JISROMAN | IBM-930 | IBM-5053 |
JIS78KJ (ASCII | IBM-939 | IBM-5055 |
JIS83KJ (JISROMAN | IBM-930 | IBM-5052 |
JIS83KJ (ASCII | IBM-939 | IBM-5054 |
KSC5601 | IBM-933 | IBM-949 |
SCHINESE | IBM-935 | IBM-1381 |
SJISKANJI | SJISKANJI IBM-930 or IBM-939 | IBM-932 or IBM-eucJC |
TCHINESE | IBM-937 | IBM-948 |
UNICODE file transfer | UTF-8, UTF-16 | UTF-8, UTF-16, UTF-16BE, UTF-16LE |
另外也可以不修改服务端,在上传文件的时候,先使用命令
quote site encoding=mbcs
quote site mbdataconn=(IBM-935,IBM-1381)
有时以下命令可能需要参考:
quote site encoding=sbcs
quote site sbdataconn=(IBM-935,ISO8859-1)
quote type b 9
注意事项
- 通过ftp上传文件时, 若目的文件不存在, 则按照FTP的配置在FTP PROC内
//SYSFTPD
语句定义的parm来确定分配数据集大小。 - 如果自动分配的不符合要求(RECORD LENGTH、文件大小等),可以先按照需要的属性在z/OS上建立数据集,然后ftp上传。
- MBCS 只支持主机端为变长格式的DATASET。如果ftp一个文件到一个FB的数据集,会报错:
可以考虑建一个数据集存放ftp上传的文件,然后复制到其他数据集中。504 Multi-byte encoding not supported for RECFM=FB
- 如果
ENCODING=MBCS
,但是没有设置MBDATACONN
,会报错:504 Multi-byte encoding set but codepages are not defined
- 在上面的配置中,如果文件最后没有空行的话,会报警告:
451-File Transfer might be incomplete. Last record received without EOL sequence.
使用FTP提交JCL作业
登陆到主机的FTP以后,可以使用主机特有的FTP命令来传送本地文件为作业,并自动运行。
使用以下命令改变目前的服务状态为JES,文件将会传送到JES而不是文件系统:
quote site filetype=jes
注: quote site filetype=seq
可以改回服务状态为文件系统。
- put 命令可以提交作业到JES执行,注意这里放上去的作业的jobname可以是任意,但只有jobname以用户名开头,才可以在提交后被检索到,并取得返回信息。
- delete jobid可以把某个作业purge掉。
参考资料
- Communication Server > IP Configuration Reference > File Trabsfer Protocol
- OS/390 TCP/IP Open Edition User's Guide