2013-04-22 60 views
1

我想将测试文件传输到大型机,但测试文件有超过80个字符的行,这是FTP的默认值。由于创建的数据集具有记录长度80,因此我得到如何在cURL中设置记录长度?

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"但这没有帮助。

回答

2

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

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

+0

我对大型机的概念并不熟悉,结果发现问题出在你说的上。非常感谢 :) – Alpay 2013-04-26 11:03:43

1

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

1

在大型机上预分配一个具有所需特性的数据集,如LRECL(记录长度)和RECFM(记录格式,所有记录都是“固定”长度,还是可以不同? )。

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

我不认为80是ftp的“默认”值,它可能就是您试图将数据填入数据集的LRECL。

大型机支持人员之间的某处是知道大型机ftp使用标准的人。这是值得找到他们,解释你有什么和你需要做什么,并要求他们正确的方式来做到这一点。现在比挣扎更好,然后让它在“非标准”的过程中“反弹”。