如何使用 SFTP 向大型机提交/​​检索批处理作业

Posted

技术标签:

【中文标题】如何使用 SFTP 向大型机提交/​​检索批处理作业【英文标题】:How to use SFTP to submit/retrieve batch jobs to mainframe 【发布时间】:2020-01-08 12:43:06 【问题描述】:

在使用我的 C# 代码发送 site filetype=jes 之后,我一直在对我的 JCL 进行简单的 ftp。 但是现在我需要使用 SFTP 来发送和接收文件。 我找到了 renci.SshNet 但它没有发送命令的方法。

谁能告诉我如何使用 C# 将 JCL SFTP 到大型机? 解决这个问题的最佳方法是什么?

【问题讨论】:

【参考方案1】:

.NET 不支持开箱即用的 SFTP(不要与 FTPS 混淆)。您必须依赖 3rd 方库。在此处查看相关问题:SFTP Libraries for .NET

【讨论】:

感谢您的澄清。根据我收到的通知,这里似乎需要 FTPS 而不是 SFTP。是否有图书馆和页面可供我参考以获取有关如何操作的更多信息? 如相关问题中所述,您必须找到适合使用 SSH 文件传输协议 (SFTP) 的库。【参考方案2】:

您所述问题的答案是您需要FTPS 而不是SFTP 来支持JES 扩展以进行作业提交和检索(以及其他z/OS 特定功能)。

这是一个article,它详细介绍了 c# 中的 FTPS。使用SITE 命令的命令序列与您在 FTP 下使用的命令序列相同。

为了比较 SFTP 和 FTPS,这里有一些信息。

在来自 Share 的 z/OS 上找到这个 link 关于 FTPS 设置。这应该让你开始。它似乎比去知识中心更实用和应用,并展示了各种选项和功能。原作者 Alfred B Christensen 是一名 IBM 员工。该材料来自 2011 年,但在今天仍然主要适用。

以下是技术比较:

这里有一些背景。

问题是 ...sftp understands a set of commands subcommands similar to those of ftp. 根据链接的 IBM SFTP 手册。 IBM 提供的sftp 服务器实现没有FTP Server 提供的全套扩展

还有其他带有相关客户端的服务器可以提供该功能。我不认可这个产品,但它似乎在谷歌搜索中很受欢迎我已经完成了Tectia IBM 的sftp server 的默认实现不支持与ftp 相同的扩展。

如果您正在寻找无缝过渡并需要传输安全,ftps 是一个更好的选择,但可能需要在 z/OS 系统上进行配置(如果尚未启用)。

问题不仅在于客户端,还在于 z/OS 上 sftp 实现的能力。

【讨论】:

【参考方案3】:

IBM 的原生 SFTP 不支持 FTP 的所有功能。您将需要使用来自 Dovetailed 的 Co:Z toolkit SFTP。它可以免费使用,并提供付费支持。

【讨论】:

以上是关于如何使用 SFTP 向大型机提交/​​检索批处理作业的主要内容,如果未能解决你的问题,请参考以下文章

无法让 SFTP 在 PHP 中工作

使用 SFTP 连接到 z/OS 大型机

sftp 到大型机主机

将文件作为 TAPE 数据集 SFTP 到大型机

从 Spark 服务器执行 SFTP 时,大型机服务器上的记录级别数据截断

使用 WinSCP 和批处理监视 SFTP 服务器上的更改