以二进制模式FTP传输结构化文件

以二进制模式FTP传输结构化文件,ftp,sftp,tandem,hp-nonstop,Ftp,Sftp,Tandem,Hp Nonstop,我正在尝试将文件FTP到串联的HP/Non-Stop环境中。使用C进程将记录写入文件,然后使用另一个C进程读取 文件本身包含一些使用标准文本编辑器无法读取的记录。我想这意味着要正确传输文件,我需要以二进制模式传输。在二进制模式下尝试传输会产生以下错误 ftp> bin 200 Type set to I. ftp> put SM11098 200 PORT command successful. 553 Error: Structured file transfer only all

我正在尝试将文件FTP到串联的HP/Non-Stop环境中。使用C进程将记录写入文件,然后使用另一个C进程读取

文件本身包含一些使用标准文本编辑器无法读取的记录。我想这意味着要正确传输文件,我需要以二进制模式传输。在二进制模式下尝试传输会产生以下错误

ftp> bin
200 Type set to I.
ftp> put SM11098
200 PORT command successful.
553 Error: Structured file transfer only allowed in Ascii mode,
ftp> ascii
200 Type set to A.
ftp> put SM11098
200 PORT command successful.
150 Opening data connection for SM11098 (10.220.98.237,4078d).
552 SM11098: Relative file record length > Maximum record length
ftp: 1576960 bytes sent in 4.08Seconds 386.70Kbytes/sec.
我试着用谷歌搜索上面的错误,但什么也没发现。 对我来说,结构化文件听起来像是包含结构化记录的二进制文件。这不应该是二进制模式下的FTP吗?FTP程序迫使我使用ASCII模式


第二个错误是什么?i、 e.相对文件记录长度>最大记录长度

您的帖子没有明确说明,但听起来您正在从HP NonStop转换为HP NonStop,并且您的源文件是结构化的。需要注意的是,在不间断环境中,结构化文件有一个特定的含义:该文件不同于*nix或MS-DOS系统上的一种文件,后者称为不间断非结构化文件。结构化文件不是字节数组,但具有记录边界和潜在的其他特征,其中一些特征类似于SQL表的特征

FTP通常适用于非结构化文件,但对于结构化文件,您可能需要使用额外的参数。FTP不间断扩展是不间断系统软件中最糟糕的设计,对您来说很不幸。基本上,您需要在put命令的and参数之后使用属性,首先是结构化文件类型,即e、k或r,可能还有其他属性。这表明FTP正在传输结构化文件。您可能需要检查手册以获得正确的语法。尽管有二进制数据,但仍需要使用ASCII模式

相对文件记录长度错误可能是由于未能执行结构化文件传输。如果源文件是相对结构化文件,则使用表示相对的文件类型r是合适的

但是,如果两个系统都是不间断的,它们通常会使用扩展网络(例如通过IP)进行联网,然后复制文件比使用FTP更容易。您可以使用普通命令解释器,将系统名作为普通复制或复制命令的目标文件名的一部分