我一直在试图从内联网向我所知的AS400盗窃一个 d。 报给我的错误是:“一线或多条线被拖走”,行政部门说,档案上有256条线,长度各栏。 我在网上找到这一解释:
我们必须确定违约情况,因为没有关于档案的具体内容。 拖欠的RECFM为V,LRECL为256。 这意味着,SAS将扫描参考CR &的投入记录;LF告诉我们,我们是EOR。 如果在LRECL的限额内发现标记,SAS将数据从LRECL值中删除到记录结束,并向这些记录员发出一个信息,即“一个或一个以上线已经缩小”。
因此,我需要设立LRECL。 我如何在C# NET中这样做?
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath);
ftp.Credentials = new NetworkCredential(user, pwd);
ftp.KeepAlive = false;
ftp.UseBinary = false;
ftp.Method = WebRequestMethods.Ftp.UploadFile;
FileStream fs = File.OpenRead(inputfilepath + ftpfileName);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpstream = ftp.GetRequestStream();
int i = 0;
int intBlock = 1786;
int intBuffLeft = buffer.Length;
while (i < buffer.Length)
{
if (intBuffLeft >= 1786)
{
ftpstream.Write(buffer, i, intBlock);
}
else
{
ftpstream.Write(buffer, i, intBuffLeft);
}
i += intBlock;
intBuffLeft -= 1786;
}
ftpstream.Close();