现在我有点困惑.当我想通过sftp在PC和大型机主机之间交换数据时,实现这一目标的必要步骤是什么.
据我所知,我无法直接连接到主机.人们告诉我有类似OMVS环境的东西,我必须先将文件发送到这个环境,通过sftp从服务器获取数据.(z/os已经使用并运行)
这是正确的吗?什么是OMVS?以及在主机和OMVS之间交换文件需要哪些步骤?或者有更好的解决方案吗?
提前致谢
什么是OMVS?
OMVS是Open MVS的缩写.z/OS 是 Unix; 你可以把它想象成一个Unix,其中包括过去半个世纪以来开发的所有祖先OS/360,MVS和z/OS的东西.OMVS也称为Unix系统服务.它不是一个单独的操作系统,它不是在单独的LPAR或VM中运行.它是您处理的单独文件系统,符合Unix约定.所以它有目录并且区分大小写并且具有属性位.
您可以在TSO READY提示符下键入OMVS以获得3270风格的Unix shell.您可以使用PuTTY连接到z/OS主机以获得更标准的Unix shell.
在主机和OMVS之间交换文件需要哪些步骤?或者有更好的解决方案吗?
这取决于.Dovetailed Technologies Co:Z SFTP服务器具有扩展,允许直接向/从z/OS主机传输标准z/OS数据集.
如果您的技术人员坚持要通过OMVS文件系统,那么您将需要具有定义到RACF(或您的商店使用的任何ESM)的OMVS段的大型机安全凭证.OMVS段除其他外指定了您的OMVS主目录.
通过sftp在PC和z/OS之间传输文件可能涉及代码页转换.这可能很棘手.
大型机数据通常在单个记录中包含文本和二进制数据,例如名称,货币金额和数量:
Hopper Grace ar% .
......那会...
x'C8969797859940404040C799818385404040404081996C004B'
......十六进制 这是代码页37,通常称为EBCDIC.
在不知道姓氏被限制在前10个字节的情况下,给定的名称限制了后续的10个字节,货币量在接下来的3个字节中以压缩十进制(也称为二进制编码的十进制)表示,并且数量在接下来的两个字节,就无法准确传输数据,因为代码页转换会破坏货币金额.转换到通常在Microsoft Windows上使用的代码页1250,最终会得到......
x'486F707065722020202047726163652020202020617225002E'
...文本数据被翻译但打包数据被销毁的地方.打包数据在最后一个半字节(最后一个字节的下半部分)中不再有有效符号,货币数量本身已经改变了数量(从十进制75到十进制11,776,因为代码页转换和修改一个大端数字作为一个小端数字).
一种解决方案是仅传输文本格式的数据.大型机排序实用程序通常在数据转换方面表现出色.如果您的文件包含打包或二进制数据,这确实需要在z/OS端执行额外的步骤.
如果要将数据从z/OS传输到另一个平台进行处理,另一种解决方案是使用JRecord库来处理数据.
您希望访问的数据是否受隐私法规的约束?您可能必须提供一些证据,证明无论采取何种保护措施,只有在您将其转移到目标目的地后,只有授权人员才能访问其当前位置的数据.此类保证可能必须满足审计员的要求.
可以使用Unix cp命令将数据传入和传出OMVS文件系统. 在z/OS上,此命令具有扩展,以使其理解"经典"z/OS数据集和OMVS文件.
该cp命令可以从shell提示符执行,也可以通过执行BPXBATCH的标准z/OS批处理作业(JCL)执行,无论哪个适合您的工作流程.
将文件复制到您有权访问的OMVS文件系统中的目录后,只需像往常一样使用sftp将文件传输到PC.
当我想通过sftp在PC和大型机主机之间交换数据时,实现这一目标的必要步骤是什么.
初始设置...
每次你想传输文件......
如果您要定期执行此操作,则步骤1和步骤2可能是计划批处理作业的一部分,因此文件始终存在于您希望的目录中.这是与您的生产控制人员谈判的事情.