如何读从MVS传输到Linux的数据集?

日期: 2008-07-17 作者:Robert Crawford翻译:唐琼瑶 来源: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)的磁带上,支持的最大值是25……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

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。

作者

Robert Crawford
Robert Crawford

数据中心专家

相关推荐