我通过connect direct将文件从UNIX发送到MAINFRAME服务器。我能够成功上传文件。在目标主机上,当收到文件时,它不可读,而且格式与我从UNIX服务器发送的格式不同。
以下是传输工作
Direct> Enter a ';' at the end of a command to submit it. Type 'quit;' to exit CLI.
submit maxdelay=unlimited TINIRS process snode=b1ap005
TRANSMIT copy from (file=myFile.txt
pnode
sysopts=":datatype=text"
)
ckpt=1k
to (file=myFile.txt(+1)
snode
DCB=(DSORG=PS,RECFM=VB,LRECL=1500)
disp=(new)
)
pend ;
请告知我需要更新的DCB值。我发送的文件有3条可变长度记录,最大记录长度为1500。
答案 0 :(得分:1)
实际上,这看起来几乎是正确的。但是如果你的最大记录长度是1500个字符(不包括行尾的NL),你的LRECL应该至少为1504.但是不要低于最大值 - 没有成本或惩罚更大的值(直到32767)。并且NealB是正确的 - 如果这是一个文本文件,您可能需要指定字符集转换 - 但我不知道如何在CONNECT:Direct中执行此操作。
答案 1 :(得分:0)
当使用DATATYPE = TEXT时,C:D自动将ascii转换为EBCDIC。为了肯定,您可能希望使用":datatype = text:xlate = yes:"。