0

我通过直接连接将文件从 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。

4

2 回答 2

1

实际上,这看起来几乎是对的。但是如果您的最大记录长度是 1500 个字符(不包括行尾的 NL),您的 LRECL 应该至少为 1504。但不要吝啬最大值 - 更大的值(最多32767)。NealB 是正确的 - 如果这是一个文本文件,您可能需要指定字符集翻译 - 但我不知道如何在 CONNECT:Direct 中执行此操作。

于 2011-10-29T13:43:32.143 回答
0

当使用 DATATYPE=TEXT 时,C:D 会自动将 ascii 转换为 EBCDIC。为了积极起见,您可能需要使用“:datatype=text:xlate=yes:”。

于 2016-01-28T01:24:21.727 回答