【TechTarget中国原创】问:我尝试使用FTP协议(二进制模式下)从MVS传输一个数据集(dataset)到Linux,这个dataset的RECFM=VB、LRECL=32756和BLKSIZE=327560。我知道在MVS数据集必须有一些BDW/RDW字节,告诉记录在数据集的大小。传输后,当我读这个数据集,BDW/RDW字节从数据集移除了,现在,读这个数据集变得很困难。请提供一些建议,让我能在Linux读这些BDW/RDW字节。
答:首先,BLKSIZE不能是327560(是你打错了?)。DASD(直接存取存储器)最大值是32K(32760),甚至在使用大BLKSIZE接口(LBI)的磁带上,支持的最大值是256K(对于3590)。我猜测你意思是32760。
在传输前能使用LRECL=32756把文件转换到FB。一个简单的REXX程序就可用了。例如:
/* REXX */
"ALLOC FI(VBIN) DA(’my.file.VB’) SHR REUSE"
"ALLOC FI(FBOUT) DA(’my.file.FB’) SHR REUSE"
"execIO * DISKR VBIN (FINIS"
queue ’’
"execIO * DISKW FBOUT (FINIS"
"FREE FI(VBIN)"
"FREE FI(FBOUT)"
Exit 0
如果你成批运行,你能在JCL分配这些文件,并且不需要程序里的ALLOC/FREE。