sftp 到大型机主机
Posted
技术标签:
【中文标题】sftp 到大型机主机【英文标题】:sftp to Mainframe host 【发布时间】:2017-09-19 15:04:43 【问题描述】:现在我有点困惑。当我想通过 sftp 在 PC 和 Mainframe 主机之间交换数据时,需要哪些步骤来实现呢?
据我所知,我无法直接连接到主机。人们告诉我有类似 OMVS 环境的东西,我必须先将文件发送到此环境,才能通过 sftp 从服务器获取数据。(z/os 已使用并正在运行)
这是对的吗?什么是 OMVS?在主机和 OMVS 之间交换文件需要哪些步骤?还是有更好的解决方案?
提前致谢
【问题讨论】:
【参考方案1】:什么是 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 主机/从 z/OS 主机传输。
如果您的技术人员坚持通过 OMVS 文件系统,那么您将需要大型机安全凭证,其中定义为 RACF(或您的商店使用的任何 ESM)的 OMVS segment。 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 文件系统。 On z/OS this command has extensions 让它理解“经典”z/OS 数据集和 OMVS 文件。
cp
命令可以从 shell 提示符或通过执行 BPXBATCH 的标准 z/OS 批处理作业 (JCL) 执行,无论哪个适合您的工作流程。
将文件复制到您有权访问的 OMVS 文件系统中的目录后,只需像往常一样使用 sftp 将文件传输到您的 PC。
当我想通过以下方式在 PC 和大型机主机之间交换数据时 sftp,实现这一点的必要步骤是什么。
初始设置...
-
通过 OMVS 段获取大型机凭据。
获取放置 OMVS 文件的目录。该目录必须对文件内容具有适当的安全性。
(可选)让大型机人员创建一个作业步骤,将任何打包和二进制数据转换为文本格式。
每次您希望传输文件时...
-
(可选)执行在上面 #3 中创建的转换步骤。
将文件复制到上面#2设置的目录中。
使用您喜欢的 sftp 客户端将文件传输到您的 PC。
如果这是您要定期执行的操作,则步骤 1 和 2 可能是计划的批处理作业的一部分,因此文件始终会在您需要时出现在目录中。这需要与您的生产控制人员协商。
【讨论】:
以上是关于sftp 到大型机主机的主要内容,如果未能解决你的问题,请参考以下文章
从 Spark 服务器执行 SFTP 时,大型机服务器上的记录级别数据截断
JSch SFTP 可以支持 lrecl 或 blksize 等站点命令吗