【问题标题】:How to set record length in cURL?如何在 cURL 中设置记录长度?
【发布时间】:2013-04-15 09:12:48
【问题描述】:

我想将测试文件传输到大型机,但测试文件的行数超过 80 个字符,这是 FTP 的默认设置。因为创建的数据集的记录长度为 80,所以我得到了

451-File transfer failed. File contains records that are longer than the LRECL of the new file.

错误。我试过这个;

curl --ftp-ssl -k -v -B -T BBBBB -u USERNAME:PASS ftp://HOST_NAME:PORT/'DATASET_NAME(BBBBB)'

为了解决这个问题,我添加了-Q "site lrecl=250",但这没有帮助。

【问题讨论】:

    标签: dataset file-transfer mainframe ftps


    【解决方案1】:

    如果这是一次性或很少重复的任务,您可以将文件传输到 Unix 文件系统,然后使用 OGET 创建“经典”z/OS 文件。

    【讨论】:

      【解决方案2】:

      在大型机上预先分配具有您想要的特征的数据集,例如 LRECL(记录长度)和 RECFM(记录格式,所有记录都是“固定”长度,还是可以不同?) .

      如果你 ftp 到那个数据集,这会给你带来问题吗?

      我不认为 80 是 ftp 的“默认”值,它可能只是您尝试将数据填充到的数据集的 LRECL。

      在大型机支持人员中,有些人知道您的大型机的 ftp 使用标准。找到他们,解释你有什么和你需要做什么,并问他们正确的方法是值得的。总比现在挣扎着走,然后让它一路“反弹”为“非标准”。

      【讨论】:

        【解决方案3】:

        您是在创建数据集还是在 PDS 中创建成员???。 DATASET_NAME(BBBBB) 语法意味着您可以在现有 PDS 中创建成员。 LRECL 特性在 PDS 定义中定义,不能通过发送命令更改。

        如果它是现有的 PDS,您将需要通过发送命令创建一个新的数据集/PDS,或者在大型机上创建一个具有正确特征的新数据集,然后进行发送。

        【讨论】:

        • 我对大型机概念不熟悉,结果问题出在你所说的。非常感谢:)
        猜你喜欢
        • 1970-01-01
        • 2016-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-22
        • 1970-01-01
        相关资源
        最近更新 更多