通过从UNIX直接连接到MAINFRAME来发送文件

时间:2011-10-28 14:49:31

标签: unix file-transfer mainframe transmission

我通过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。

2 个答案:

答案 0 :(得分:1)

实际上,这看起来几乎是正确的。但是如果你的最大记录长度是1500个字符(不包括行尾的NL),你的LRECL应该至少为1504.但是不要低于最大值 - 没有成本或惩罚更大的值(直到32767)。并且NealB是正确的 - 如果这是一个文本文件,您可能需要指定字符集转换 - 但我不知道如何在CONNECT:Direct中执行此操作。

答案 1 :(得分:0)

当使用DATATYPE = TEXT时,C:D自动将ascii转换为EBCDIC。为了肯定,您可能希望使用":datatype = text:xlate = yes:"。