sftp到大型机主机

h0p*_*pel 1 mainframe zos

现在我有点困惑.当我想通过sftp在PC和大型机主机之间交换数据时,实现这一目标的必要步骤是什么.

据我所知,我无法直接连接到主机.人们告诉我有类似OMVS环境的东西,我必须先将文件发送到这个环境,通过sftp从服务器获取数据.(z/os已经使用并运行)

这是正确的吗?什么是OMVS?以及在主机和OMVS之间交换文件需要哪些步骤?或者有更好的解决方案吗?

提前致谢

csc*_*eid 5

什么是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. 使用OMVS段获取大型机凭据.
  2. 获取放置OMVS文件的目录.此目录必须具有适当的文件内容安全性.
  3. (可选)让大型机人员创建作业步骤,将任何打包和二进制数据转换为文本格式.

每次你想传输文件......

  1. (可选)执行上面#3中创建的转换步骤.
  2. 将文件复制到上面#2中设置的目录.
  3. 使用您最喜欢的sftp客户端将文件传输到PC.

如果您要定期执行此操作,则步骤1和步骤2可能是计划批处理作业的一部分,因此文件始终存在于您希望的目录中.这是与您的生产控制人员谈判的事情.